diff --git a/.github/workflows/redash-cd.yml b/.github/workflows/redash-cd.yml new file mode 100644 index 0000000000..3d8cb8e90e --- /dev/null +++ b/.github/workflows/redash-cd.yml @@ -0,0 +1,63 @@ +name: MET Redash DEV CD + + +on: + push: + branches: + - MET + paths: + - "**" + workflow_dispatch: + inputs: + environment: + description: "Environment (dev/test/prod)" + required: true + default: "dev" + +defaults: + run: + shell: bash + working-directory: . + +env: + APP_NAME: "met-analytics" + DEPLOYMENT_NAME: "met-analytics-server" + TAG_NAME: "dev" + +jobs: + met-api-cd: + runs-on: ubuntu-20.04 + + if: github.repository == 'bcgov/redash' + environment: + name: "dev" + + steps: + - uses: actions/checkout@v2 + + - name: Login Openshift + shell: bash + run: | + oc login --server=${{secrets.OPENSHIFT_LOGIN_REGISTRY}} --token=${{secrets.OPENSHIFT_SA_TOKEN}} + + - name: Login Docker + run: | + echo "${{ secrets.OPENSHIFT_SA_TOKEN }}" | + docker login ${{ secrets.OPENSHIFT_IMAGE_REGISTRY }} -u ${{ secrets.OPENSHIFT_SA_NAME}} --password-stdin + + - name: Build image + run: | + docker build . --file Dockerfile --tag image + + - name: Push image + run: | + IMAGE_ID=${{ secrets.OPENSHIFT_IMAGE_REGISTRY }}/"${{ secrets.OPENSHIFT_REPOSITORY}}-tools"/$APP_NAME + docker tag image $IMAGE_ID:latest + docker push $IMAGE_ID:latest + docker image tag $IMAGE_ID:latest $IMAGE_ID:$TAG_NAME + docker push $IMAGE_ID:$TAG_NAME + + - name: Rollout + shell: bash + run: | + oc rollout status deployment/${{ env.DEPLOYMENT_NAME }} -n ${{ secrets.OPENSHIFT_REPOSITORY }}-${{ env.TAG_NAME }} -w