diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 62a0080..57d327a 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -21,8 +21,21 @@ jobs: steps: # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it - uses: actions/checkout@v2 + - name: Build and push docker image run: | - docker build . --tag docker.pkg.github.com/wahyd4/scraper/app:v.1.$GITHUB_RUN_NUMBER + docker build . --tag docker.pkg.github.com/wahyd4/scraper/app:v0.1.$GITHUB_RUN_NUMBER docker login docker.pkg.github.com -u wahyd4 -p ${{ secrets.GITHUB_TOKEN }} - docker push docker.pkg.github.com/wahyd4/scraper/app:v.1.$GITHUB_RUN_NUMBER + docker push docker.pkg.github.com/wahyd4/scraper/app:v0.1.$GITHUB_RUN_NUMBER + + - name: deploy cronjob to cluster + uses: wahyd4/kubectl-helm-action@master + env: + KUBE_CONFIG_DATA: ${{ secrets.KUBE_CONFIG_DATA }} + with: + args: | + IMAGE_VERSION=app:v0.1.$GITHUB_RUN_NUMBER + rm -rf tmp && mkdir tmp + cat manifest.yaml | sed "s/{{IMAGE_VERSION}}/${IMAGE_VERSION}/" > tmp/manifest.yaml + kubectl apply -f tmp/manifest.yaml -n apps + rm -rf tmp diff --git a/manifest.yaml b/manifest.yaml new file mode 100644 index 0000000..f4dd3ad --- /dev/null +++ b/manifest.yaml @@ -0,0 +1,31 @@ +apiVersion: batch/v1beta1 +kind: CronJob +metadata: + name: pg-db-backup +spec: +# schedule: "0 4 * * 0" + schedule: "*/5 * * * *" + jobTemplate: + spec: + backoffLimit: 0 + template: + spec: + containers: + - name: data-scraper + image: "docker.pkg.github.com/wahyd4/scraper/app:IMAGE_VERSION" + imagePullPolicy: IfNotPresent + env: + - name: DB_USERNAME + value: postgres + - name: DB_PASSWORD + valueFrom: {secretKeyRef: {name: database-credentials, key: password}} + - name: PORT + value: "32222" + resources: + requests: + cpu: 50m + memory: 126Mi + limits: + cpu: 100m + memory: 256Mi + restartPolicy: Never