Skip to content

Commit

Permalink
Merge pull request #66 from isd-sgcu/dev
Browse files Browse the repository at this point in the history
update main
  • Loading branch information
bookpanda authored Jul 14, 2024
2 parents f09e635 + e872f10 commit ff46c35
Showing 1 changed file with 31 additions and 12 deletions.
43 changes: 31 additions & 12 deletions .github/workflows/build-deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,15 +12,17 @@ on:
env:
SERVICE_NAME: rpkm67-frontend
IMAGE_NAME: ghcr.io/${{ github.repository }}
IMAGE_TAG: <WILL_BE_SET>
IMAGE_TAG_DEV: <WILL_BE_SET>
IMAGE_TAG_PROD: <WILL_BE_SET>

jobs:
build:
name: Build
runs-on: ubuntu-latest
if: github.event.pull_request.merged == true || github.event_name == 'workflow_dispatch'
outputs:
IMAGE_TAG: ${{ steps.tag_action.outputs.new_tag }}
IMAGE_TAG_DEV: ${{ steps.tag_action.outputs.new_tag }}-dev
IMAGE_TAG_PROD: ${{ steps.tag_action.outputs.new_tag }}-prod

permissions:
contents: write
Expand All @@ -41,7 +43,9 @@ jobs:
id: tag_action

- name: Set IMAGE_TAG
run: echo "IMAGE_TAG=${{ steps.tag_action.outputs.new_tag }}" >> $GITHUB_ENV
run:
echo "IMAGE_TAG_DEV=${{ steps.tag_action.outputs.new_tag }}-dev" >> $GITHUB_ENV
echo "IMAGE_TAG_PROD=${{ steps.tag_action.outputs.new_tag }}-prod" >> $GITHUB_ENV

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
Expand All @@ -53,25 +57,40 @@ jobs:
username: ${{ github.actor }}
password: ${{ github.token }}

- name: Build and Push Docker Image
- name: Build and Push Docker Image (DEV)
uses: docker/build-push-action@v3
with:
push: true
tags: ${{ env.IMAGE_NAME }}:${{ env.IMAGE_TAG }},${{ env.IMAGE_NAME }}:latest
tags: ${{ env.IMAGE_NAME }}:${{ env.IMAGE_TAG_DEV }},${{ env.IMAGE_NAME }}:latest
cache-from: type=registry,ref=${{ env.IMAGE_NAME }}:buildcache
cache-to: type=registry,ref=${{ env.IMAGE_NAME }}:buildcache,mode=max
build-args: |
API_BASE_URL=${{ vars.API_BASE_URL }}
FIRST_DATE_DATE=${{ vars.FIRST_DATE_DATE }}
RUP_PEUN_DATE=${{ vars.RUP_PEUN_DATE }}
BASE_DOMAIN_IMAGES=${{ vars.BASE_DOMAIN_IMAGES }}
API_BASE_URL=${{ vars.DEV_API_BASE_URL }}
FIRST_DATE_DATE=${{ vars.DEV_FIRST_DATE_DATE }}
RUP_PEUN_DATE=${{ vars.DEV_RUP_PEUN_DATE }}
BASE_DOMAIN_IMAGES=${{ vars.DEV_BASE_DOMAIN_IMAGES }}
- name: Build and Push Docker Image (PROD)
uses: docker/build-push-action@v3
if: github.ref == 'refs/heads/main'
with:
push: true
tags: ${{ env.IMAGE_NAME }}:${{ env.IMAGE_TAG_PROD }},${{ env.IMAGE_NAME }}:latest
cache-from: type=registry,ref=${{ env.IMAGE_NAME }}:buildcache
cache-to: type=registry,ref=${{ env.IMAGE_NAME }}:buildcache,mode=max
build-args: |
API_BASE_URL=${{ vars.PROD_API_BASE_URL }}
FIRST_DATE_DATE=${{ vars.PROD_FIRST_DATE_DATE }}
RUP_PEUN_DATE=${{ vars.PROD_RUP_PEUN_DATE }}
BASE_DOMAIN_IMAGES=${{ vars.PROD_BASE_DOMAIN_IMAGES }}
cd:
name: Continuous Deployment
needs: build
runs-on: ubuntu-latest
env:
IMAGE_TAG: ${{ needs.build.outputs.IMAGE_TAG }}
IMAGE_TAG_DEV: ${{ needs.build.outputs.IMAGE_TAG_DEV }}
IMAGE_TAG_PROD: ${{ needs.build.outputs.IMAGE_TAG_PROD }}

steps:
- name: Checkout DevOps repository
Expand All @@ -83,13 +102,13 @@ jobs:
- name: Update image tag in dev
uses: mikefarah/yq@master
with:
cmd: yq -i '.[0].value = "${{ env.IMAGE_NAME }}:" + strenv(IMAGE_TAG)' isd/${{ env.SERVICE_NAME }}/deployment.yaml
cmd: yq -i '.[0].value = "${{ env.IMAGE_NAME }}:" + strenv(IMAGE_TAG_DEV)' isd/${{ env.SERVICE_NAME }}/deployment.yaml

- name: Update image tag in prod
uses: mikefarah/yq@master
if: github.ref == 'refs/heads/main'
with:
cmd: yq -i '.[0].value = "${{ env.IMAGE_NAME }}:" + strenv(IMAGE_TAG)' prod/${{ env.SERVICE_NAME }}/deployment.yaml
cmd: yq -i '.[0].value = "${{ env.IMAGE_NAME }}:" + strenv(IMAGE_TAG_PROD)' prod/${{ env.SERVICE_NAME }}/deployment.yaml

- name: Commit & Push changes
uses: actions-js/[email protected]
Expand Down

0 comments on commit ff46c35

Please sign in to comment.