Skip to content

Commit

Permalink
rearrange tag and deploy
Browse files Browse the repository at this point in the history
  • Loading branch information
kuanfandevops committed Dec 17, 2024
1 parent d538875 commit 391206d
Showing 1 changed file with 75 additions and 80 deletions.
155 changes: 75 additions & 80 deletions .github/workflows/emergency-release-build-1.64.1.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -45,73 +45,67 @@ jobs:
- name: Confirm OpenShift CLI is Available
run: oc version --client

# set-pre-release:
# name: Calculate pre-release number
# runs-on: ubuntu-latest
# needs: [install-oc]
# outputs:
# PRE_RELEASE: ${{ steps.set-pre-release.outputs.PRE_RELEASE }}

# steps:
# - id: set-pre-release
# run: |
# echo "PRE_RELEASE=$(date +'%Y%m%d%H%M%S')" >> $GITHUB_OUTPUT

# build:
# name: Build ZEVA on Openshift
# runs-on: ubuntu-latest
# timeout-minutes: 60
# needs: [set-pre-release]

# env:
# PRE_RELEASE: ${{ needs.set-pre-release.outputs.PRE_RELEASE }}

# steps:
# - name: Check out repository
# uses: actions/[email protected]
# with:
# ref: release-${{ ENV.VERSION }}

# - name: Restore oc command from Cache
# uses: actions/[email protected]
# with:
# path: /usr/local/bin/oc
# key: oc-cli-${{ runner.os }}

# - name: Log in to Openshift
# uses: redhat-actions/[email protected]
# with:
# openshift_server_url: ${{ secrets.OPENSHIFT_SERVER }}
# openshift_token: ${{ secrets.OPENSHIFT_TOKEN }}
# insecure_skip_tls_verify: true
# namespace: ${{ env.TOOLS_NAMESPACE }}

# - name: List ZEVA deployments on Test
# run: |
# helm -n ${{ env.TEST_NAMESPACE }} list

# - name: Build ZEVA Backend
# run: |
# cd openshift/templates/backend
# oc process -f ./backend-bc-docker.yaml NAME=zeva SUFFIX=-${{ env.VERSION }}-${{ env.PRE_RELEASE }} VERSION=${{ env.VERSION }}-${{ env.PRE_RELEASE }} GIT_URL=${{ env.GIT_URL }} GIT_REF=release-${{ env.VERSION }} | oc apply --wait=true -f - -n ${{ env.TOOLS_NAMESPACE }}
# oc start-build --wait=true zeva-backend-${{ env.VERSION }}-${{ env.PRE_RELEASE }}

# - name: Build ZEVA Frontend
# run: |
# cd openshift/templates/frontend
# oc process -f ./frontend-bc-docker.yaml NAME=zeva SUFFIX=-${{ env.VERSION }}-${{ env.PRE_RELEASE }} VERSION=${{ env.VERSION }}-${{ env.PRE_RELEASE }} GIT_URL=${{ env.GIT_URL }} GIT_REF=release-${{ env.VERSION }} | oc apply --wait=true -f - -n ${{ env.TOOLS_NAMESPACE }}
# oc start-build --wait=true zeva-frontend-${{ env.VERSION }}-${{ env.PRE_RELEASE }}
set-pre-release:
name: Calculate pre-release number
runs-on: ubuntu-latest
needs: [install-oc]
outputs:
PRE_RELEASE: ${{ steps.set-pre-release.outputs.PRE_RELEASE }}

steps:
- id: set-pre-release
run: |
echo "PRE_RELEASE=$(date +'%Y%m%d%H%M%S')" >> $GITHUB_OUTPUT
build:
name: Build ZEVA on Openshift
runs-on: ubuntu-latest
timeout-minutes: 60
needs: [set-pre-release]

env:
PRE_RELEASE: ${{ needs.set-pre-release.outputs.PRE_RELEASE }}

steps:
- name: Check out repository
uses: actions/[email protected]
with:
ref: release-${{ ENV.VERSION }}

- name: Restore oc command from Cache
uses: actions/[email protected]
with:
path: /usr/local/bin/oc
key: oc-cli-${{ runner.os }}

- name: Log in to Openshift
uses: redhat-actions/[email protected]
with:
openshift_server_url: ${{ secrets.OPENSHIFT_SERVER }}
openshift_token: ${{ secrets.OPENSHIFT_TOKEN }}
insecure_skip_tls_verify: true
namespace: ${{ env.TOOLS_NAMESPACE }}

- name: Build ZEVA Backend
run: |
cd openshift/templates/backend
oc process -f ./backend-bc-docker.yaml NAME=zeva SUFFIX=-${{ env.VERSION }}-${{ env.PRE_RELEASE }} VERSION=${{ env.VERSION }}-${{ env.PRE_RELEASE }} GIT_URL=${{ env.GIT_URL }} GIT_REF=release-${{ env.VERSION }} | oc apply --wait=true -f - -n ${{ env.TOOLS_NAMESPACE }}
oc start-build --wait=true zeva-backend-${{ env.VERSION }}-${{ env.PRE_RELEASE }}
- name: Build ZEVA Frontend
run: |
cd openshift/templates/frontend
oc process -f ./frontend-bc-docker.yaml NAME=zeva SUFFIX=-${{ env.VERSION }}-${{ env.PRE_RELEASE }} VERSION=${{ env.VERSION }}-${{ env.PRE_RELEASE }} GIT_URL=${{ env.GIT_URL }} GIT_REF=release-${{ env.VERSION }} | oc apply --wait=true -f - -n ${{ env.TOOLS_NAMESPACE }}
oc start-build --wait=true zeva-frontend-${{ env.VERSION }}-${{ env.PRE_RELEASE }}
deploy-on-test:
name: Deploy ZEVA on Test
runs-on: ubuntu-latest
timeout-minutes: 60
# needs: [set-pre-release, build]
needs: [install-oc]
needs: [set-pre-release, build]

env:
# PRE_RELEASE: ${{ needs.set-pre-release.outputs.PRE_RELEASE }}
PRE_RELEASE: "20241217214026"
PRE_RELEASE: ${{ needs.set-pre-release.outputs.PRE_RELEASE }}

steps:
- name: Ask for approval for ZEVA Test deployment
Expand Down Expand Up @@ -155,17 +149,17 @@ jobs:
helm -n ${{ env.TEST_NAMESPACE }} list
oc tag ${{ env.TOOLS_NAMESPACE }}/zeva-backend:${{ env.VERSION }}-${{ env.PRE_RELEASE }} ${{ env.TEST_NAMESPACE }}/zeva-backend:${{ env.VERSION }}-${{ env.PRE_RELEASE }}
oc tag ${{ env.TOOLS_NAMESPACE }}/zeva-frontend:${{ env.VERSION }}-${{ env.PRE_RELEASE }} ${{ env.TEST_NAMESPACE }}/zeva-frontend:${{ env.VERSION }}-${{ env.PRE_RELEASE }}
helm -n ${{ env.TEST_NAMESPACE }} list
cd zeva
helm -n ${{ env.TEST_NAMESPACE }} -f ./values-test.yaml upgrade --install zeva-test .
deploy-on-prod:
name: Deploy ZEVA on Prod
runs-on: ubuntu-latest
timeout-minutes: 240
# needs: [set-pre-release, deploy-on-test]
needs: [deploy-on-test]
needs: [set-pre-release, deploy-on-test]
env:
# PRE_RELEASE: ${{ needs.set-pre-release.outputs.PRE_RELEASE }}
PRE_RELEASE: "20241217214026"
PRE_RELEASE: ${{ needs.set-pre-release.outputs.PRE_RELEASE }}

steps:

- name: Ask for approval for ZEVA Prod deployment
Expand All @@ -176,6 +170,20 @@ jobs:
minimum-approvals: 1
issue-title: "ZEVA ${{ env.VERSION }}-${{ env.PRE_RELEASE }} Prod Deployment"

- name: Checkout Manifest repository
uses: actions/[email protected]
with:
repository: bcgov-c/tenant-gitops-e52f12
ref: main
ssh-key: ${{ secrets.MANIFEST_REPO_DEPLOY_KEY }}

- name: Update frontend and backend image tags
uses: mikefarah/[email protected]
with:
cmd: |
yq -i '.frontend.image.tag = "${{ env.VERSION }}-${{ env.PRE_RELEASE }}"' zeva/values-prod.yaml
yq -i '.backend.image.tag = "${{ env.VERSION }}-${{ env.PRE_RELEASE }}"' zeva/values-prod.yaml
- name: Restore oc command from Cache
uses: actions/[email protected]
with:
Expand All @@ -190,25 +198,12 @@ jobs:
insecure_skip_tls_verify: true
namespace: ${{ env.TOOLS_NAMESPACE }}

- name: Tag Images from tools to Prod
- name: Tag and Deploy to Prod
run: |
helm -n ${{ env.PROD_NAMESPACE }} list
oc tag ${{ env.TOOLS_NAMESPACE }}/zeva-backend:${{ env.VERSION }}-${{ env.PRE_RELEASE }} ${{ env.PROD_NAMESPACE }}/zeva-backend:${{ env.VERSION }}-${{ env.PRE_RELEASE }}
oc tag ${{ env.TOOLS_NAMESPACE }}/zeva-frontend:${{ env.VERSION }}-${{ env.PRE_RELEASE }} ${{ env.PROD_NAMESPACE }}/zeva-frontend:${{ env.VERSION }}-${{ env.PRE_RELEASE }}
- name: Checkout Manifest repository
uses: actions/[email protected]
with:
repository: bcgov-c/tenant-gitops-e52f12
ref: main
ssh-key: ${{ secrets.MANIFEST_REPO_DEPLOY_KEY }}

- name: Update frontend and backend image tags
uses: mikefarah/[email protected]
with:
cmd: |
yq -i '.frontend.image.tag = "${{ env.VERSION }}-${{ env.PRE_RELEASE }}"' zeva/values-prod.yaml
yq -i '.backend.image.tag = "${{ env.VERSION }}-${{ env.PRE_RELEASE }}"' zeva/values-prod.yaml
- name: Deploy Zeva on Prod
run: |
pwd
Expand Down

0 comments on commit 391206d

Please sign in to comment.