Skip to content

v1.1.11

v1.1.11 #27

Workflow file for this run

name: Desa Digital Production
on:
release:
types: [created, published]
jobs:
docker:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Set up QEMU
uses: docker/setup-qemu-action@v1
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
# Configure Docker with Credentials
- name: Configure Docker
run: |
docker login ${{ secrets.REGISTRY_URL }} -u ${{ secrets.REGISTRY_USERNAME }} -p '${{ secrets.REGISTRY_PASSWORD }}'
# Set version tag using Release Tag
- name: Get release tag
id: vars
run: echo ::set-output name=RELEASE_TAG::${GITHUB_REF/refs\/tags\//}
# Build the Docker image
- name: Build and push
uses: docker/build-push-action@v2
with:
context: .
file: Dockerfile
push: true
tags: ${{ secrets.SERVICE_TAGNAME }}:${{ steps.vars.outputs.RELEASE_TAG }}
build-args: |
APP_ENVIRONMENT=production
NUXT_ENV_GOOGLE_MAPS_API=${{ secrets.GOOGLE_MAPS_API }}
GOOGLE_CLIENT_ID=${{ secrets.GOOGLE_CLIENT_ID}}
REDIRECT_URI=${{ secrets.REDIRECT_URI_PROD }}
SENTRY_DSN=${{ secrets.SENTRY_DSN }}
SENTRY_ENABLED=${{ secrets.SENTRY_ENABLED }}
SENTRY_SAMPLE_RATE=${{ secrets.SENTRY_SAMPLE_RATE }}
APP_URL=${{ secrets.APP_URL_PROD }}
BASE_URL=${{ secrets.BASE_URL_PROD }}
VERSION_ENDPOINT=${{ secrets.VERSION_ENDPOINT }}
# GitOps
- name: GitOps ArgoCD Setup
run: |
echo "${{ secrets.GITLAB_ARGOCD_KEY }}" > /tmp/gitlab-deploy-ssh-key
chmod 600 /tmp/gitlab-deploy-ssh-key
export GIT_SSH_COMMAND="ssh -i /tmp/gitlab-deploy-ssh-key -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no"
git clone ${{ secrets.GITLAB_ARGOCD_REPOSITORY }}
- name: GitOps ArgoCD Update Image Tag
uses: mikefarah/yq@master
with:
cmd: yq -i '.spec.template.spec.containers[0].image = "${{ secrets.SERVICE_TAGNAME }}:${{ steps.vars.outputs.RELEASE_TAG }}"' 'jds-terraform-gke/k8s/desa-digital-web/production/deployment.yaml'
- name: GitOps ArgoCD Create Branch, Commit, Push
run: |
export GIT_SSH_COMMAND="ssh -i /tmp/gitlab-deploy-ssh-key -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no"
cd jds-terraform-gke/k8s/desa-digital-web/production
git config user.email "github-action@github.com"
git config user.name "Github Action"
git checkout -b desa-digital-web-release-${{ steps.vars.outputs.RELEASE_TAG }}-production
git add deployment.yaml
git commit -m "Desa Digital Web Release ${{ steps.vars.outputs.RELEASE_TAG }} to production"
git push origin desa-digital-web-release-${{ steps.vars.outputs.RELEASE_TAG }}-production -o merge_request.description="# Overview \n\n - Desa Digital Web Release ${{ steps.vars.outputs.RELEASE_TAG }} to production \n\n cc: @jdsteam/devops \n\n ## Evidence \n\n - title: Desa Digital Web Release ${{ steps.vars.outputs.RELEASE_TAG }} to production \n - project: Desa Digital \n - participants: " -o merge_request.create