From 7b2be8a4fad63bb58d845fda79fc0e438401bdd5 Mon Sep 17 00:00:00 2001 From: Corey Koelewyn <34955494+Ckoelewyn@users.noreply.github.com> Date: Thu, 16 Jan 2025 15:17:00 -0800 Subject: [PATCH] TRACK-357: split deploy action into seperate test/prod (#2501) --- .github/workflows/deploy-to-prod.yml | 41 ++++++++++++++++++++++++++++ .github/workflows/deploy-to-test.yml | 29 ++++++++++++++++++++ 2 files changed, 70 insertions(+) create mode 100644 .github/workflows/deploy-to-prod.yml create mode 100644 .github/workflows/deploy-to-test.yml diff --git a/.github/workflows/deploy-to-prod.yml b/.github/workflows/deploy-to-prod.yml new file mode 100644 index 000000000..85896ff3f --- /dev/null +++ b/.github/workflows/deploy-to-prod.yml @@ -0,0 +1,41 @@ +name: Deploy-to-Prod + +defaults: + run: + shell: bash + working-directory: ./ + +jobs: + deployment: + runs-on: ubuntu-20.04 + environment: + name: prod + steps: + - uses: actions/checkout@v2 + + - name: Set Timestamp + id: timestamp + run: echo "::set-output name=ts::$(date +'%Y-%m-%d_%H-%M-%S')" + + - name: Login Openshift + shell: bash + run: | + oc login --server=${{secrets.OPENSHIFT_LOGIN_REGISTRY}} --token=${{secrets.OPENSHIFT_SA_TOKEN}} + + - name: Backup Current Prod + shell: bash + run: | + oc project ${{ secrets.OPENSHIFT_REPOSITORY }}-tools + TIMESTAMP=${{ steps.timestamp.outputs.ts }} + oc tag epictrack-api:prod epictrack-api:prod-backup-${TIMESTAMP} + oc tag epictrack-web:prod epictrack-web:prod-backup-${TIMESTAMP} + + - name: Tag Images and Rollout + shell: bash + run: | + oc project ${{ secrets.OPENSHIFT_REPOSITORY }}-tools + oc tag epictrack-api:test epictrack-api:prod + oc tag epictrack-web:test epictrack-web:prod + + oc rollout status dc/epictrack-api -n ${{ secrets.OPENSHIFT_REPOSITORY }}-prod -w + oc rollout status dc/epictrack-web -n ${{ secrets.OPENSHIFT_REPOSITORY }}-prod -w diff --git a/.github/workflows/deploy-to-test.yml b/.github/workflows/deploy-to-test.yml new file mode 100644 index 000000000..30e40aa84 --- /dev/null +++ b/.github/workflows/deploy-to-test.yml @@ -0,0 +1,29 @@ +name: Deploy-to-Test + +defaults: + run: + shell: bash + working-directory: ./ + +jobs: + deployment: + runs-on: ubuntu-20.04 + environment: + name: test + steps: + - uses: actions/checkout@v2 + + - name: Login Openshift + shell: bash + run: | + oc login --server=${{secrets.OPENSHIFT_LOGIN_REGISTRY}} --token=${{secrets.OPENSHIFT_SA_TOKEN}} + + - name: Tag Images and Rollout + shell: bash + run: | + oc project ${{ secrets.OPENSHIFT_REPOSITORY }}-tools + oc tag epictrack-api:latest epictrack-api:test + oc tag epictrack-web:latest epictrack-web:test + + oc rollout status dc/epictrack-api -n ${{ secrets.OPENSHIFT_REPOSITORY }}-test -w + oc rollout status dc/epictrack-web -n ${{ secrets.OPENSHIFT_REPOSITORY }}-test -w