CI-CD Release Dev to Test #2
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI-CD Release Dev to Test | |
env: | |
OPENSHIFT_SERVER: ${{ secrets.OPENSHIFT_SERVER }} | |
# service account: gitaction | |
OPENSHIFT_TOKEN: ${{ secrets.OPENSHIFT_TOKEN }} | |
OPENSHIFT_TOOLS_NAMESPACE: "3cd915-tools" | |
MS_TEAMS_WEBHOOK_BUILD_CHANNEL: ${{ secrets.MS_TEAMS_WEBHOOK_URI_BUILD_CHANNEL }} | |
## variables for scripts under git\openshift\4.0\scripts\oc-*.sh | |
APP_PORT: 8080 | |
DESTINATION: "test" | |
OC_JOB_NAME: "test" | |
GIT_URL: "${{github.server_url}}/${{github.repository}}" | |
GIT_BRANCH: "${{github.ref}}" | |
APP_NAME: "pims" | |
PROJ_PREFIX: "3cd915" | |
PROJ_TOOLS: "3cd915-tools" | |
PROJ_DEV: "dev" | |
PROJ_TEST: "test" | |
PROJ_PROD: "prod" | |
TAG_DEV: "dev" | |
TAG_TEST: "test" | |
TAG_PROD: "prod" | |
INSTANCE: "-test" | |
NAMESPACE_OVERRIDE: "3cd915-dev" | |
on: workflow_dispatch | |
jobs: | |
ci-cd-start-notification: | |
name: CI-CD Start Notification to Teams Channel | |
runs-on: ubuntu-latest | |
steps: | |
- name: Start notification to Teams Channel | |
uses: dragos-cojocari/ms-teams-notification@v1.0.2 | |
with: | |
github-token: ${{ github.token }} | |
ms-teams-webhook-uri: ${{ env.MS_TEAMS_WEBHOOK_BUILD_CHANNEL }} | |
notification-summary: PIMS Release DEV to TST Started | |
notification-color: 17a2b8 | |
timezone: America/Los_Angeles | |
retag: | |
name: retag frontend | |
needs: ci-cd-start-notification | |
runs-on: ubuntu-latest | |
steps: | |
- name: Login to OpenShift | |
uses: redhat-actions/oc-login@v1 | |
with: | |
openshift_server_url: ${{ env.OPENSHIFT_SERVER }} | |
openshift_token: ${{ env.OPENSHIFT_TOKEN }} | |
insecure_skip_tls_verify: true | |
namespace: ${{ env.OPENSHIFT_TOOLS_NAMESPACE }} | |
- name: Retag api/app images) | |
run: | | |
oc tag pims-api:dev pims-api:test | |
oc tag pims-app:dev pims-app:test | |
deploy: | |
name: Deploy frontend and api to OpenShift | |
needs: retag | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout Source Code | |
uses: actions/checkout@v3 | |
- name: Login to OpenShift | |
uses: redhat-actions/oc-login@v1 | |
with: | |
openshift_server_url: ${{ env.OPENSHIFT_SERVER }} | |
openshift_token: ${{ env.OPENSHIFT_TOKEN }} | |
insecure_skip_tls_verify: true | |
namespace: ${{ env.OPENSHIFT_TOOLS_NAMESPACE }} | |
- name: call scripts to deploy api and frontend | |
run: | | |
./openshift/4.0/player.sh deploy api $DESTINATION -apply | |
./openshift/4.0/player.sh deploy app $DESTINATION -apply | |
ci-cd-end-notification: | |
name: CI-CD End Notification to Teams Channel | |
runs-on: ubuntu-latest | |
needs: deploy | |
steps: | |
- name: check workflow status | |
uses: martialonline/workflow-status@v4 | |
id: check | |
- name: End notification to Teams Channel | |
uses: dragos-cojocari/ms-teams-notification@v1.0.2 | |
with: | |
github-token: ${{ github.token }} | |
ms-teams-webhook-uri: ${{ env.MS_TEAMS_WEBHOOK_BUILD_CHANNEL }} | |
notification-summary: PIMS Release DEV to TEST COMPLETED with status ${{ steps.check.outputs.status }} | |
notification-color: 17a2b8 | |
timezone: America/Los_Angeles |