-
Notifications
You must be signed in to change notification settings - Fork 16
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
2 changed files
with
369 additions
and
0 deletions.
There are no files selected for viewing
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,203 @@ | ||
name: deploy(disabled) | ||
|
||
on: | ||
workflow_dispatch: | ||
|
||
env: | ||
REGISTRY: ghcr.io | ||
REPOSITORY_OWNER: wkspower | ||
KEYCLOAK_URL: https://login.wkspower.co | ||
WKS_API_URL: https://api.wkspower.co | ||
WKS_EMAIL_API_URL: https://api.wkspower.co/inbound | ||
WKS_STORAGE_API_URL: https://api.wkspower.co | ||
|
||
jobs: | ||
build: | ||
runs-on: ubuntu-latest | ||
permissions: | ||
contents: read | ||
packages: write | ||
|
||
steps: | ||
- uses: actions/checkout@v3 | ||
|
||
- name: Setup necessary env vars | ||
run: | | ||
version=${GITHUB_REF#"refs/tags/"} | ||
major_minor=$(echo ${version} | sed -e 's/^refs\/heads\///') | ||
sha_short=$(echo ${GITHUB_SHA} | cut -c 1-8) | ||
echo "BUILD_VERSION=$major_minor-$sha_short" >> $GITHUB_ENV | ||
- name: Set up jdk 18 | ||
uses: actions/setup-java@v3 | ||
with: | ||
java-version: '18' | ||
distribution: 'temurin' | ||
|
||
- name: Set up maven | ||
uses: stCarolas/[email protected] | ||
with: | ||
maven-version: 3.8.2 | ||
|
||
- name: Log in to the Container registry | ||
uses: docker/login-action@f054a8b539a109f9f41c372932f1ae047eff08c9 | ||
with: | ||
registry: ${{ env.REGISTRY }} | ||
username: ${{ github.actor }} | ||
password: ${{ secrets.GITHUB_TOKEN }} | ||
|
||
- name: Build all for backend api | ||
run: mvn -B package --file apps/java/pom.xml | ||
|
||
- name: Install dependencies for case-portal | ||
run: yarn --cwd case-portal install | ||
|
||
- name: Build for case-portal | ||
run: REACT_APP_KEYCLOAK_URL=${{ env.KEYCLOAK_URL }} REACT_APP_API_URL=${{ env.WKS_API_URL }} REACT_APP_STORAGE_URL=${{ env.WKS_STORAGE_API_URL }} yarn --cwd case-portal build | ||
|
||
- name: Set up QEMU | ||
uses: docker/setup-qemu-action@v2 | ||
|
||
- name: Set up Docker Buildx | ||
uses: docker/setup-buildx-action@v2 | ||
|
||
- name: Build and push Docker image for storage-api | ||
uses: docker/build-push-action@v2 | ||
with: | ||
context: ./storage-api | ||
platforms: linux/amd64,linux/arm64 | ||
file: storage-api/Dockerfile | ||
push: true | ||
tags: "${{ env.REGISTRY }}/${{ env.REPOSITORY_OWNER }}/storage-api:${{ env.BUILD_VERSION }}" | ||
|
||
- name: Build and push Docker image for opa | ||
uses: docker/build-push-action@v2 | ||
with: | ||
context: ./opa | ||
platforms: linux/amd64,linux/arm64 | ||
file: opa/Dockerfile | ||
push: true | ||
tags: "${{ env.REGISTRY }}/${{ env.REPOSITORY_OWNER }}/opa:${{ env.BUILD_VERSION }}" | ||
|
||
- name: Build and push Docker image for c7-external-tasks | ||
uses: docker/build-push-action@v2 | ||
with: | ||
context: ./c7-external-tasks | ||
platforms: linux/amd64,linux/arm64 | ||
file: c7-external-tasks/Dockerfile | ||
push: true | ||
tags: "${{ env.REGISTRY }}/${{ env.REPOSITORY_OWNER }}/c7-external-tasks:${{ env.BUILD_VERSION }}" | ||
|
||
- name: Build and push Docker image for case-engine-rest-api | ||
uses: docker/build-push-action@v2 | ||
with: | ||
context: ./case-engine-rest-api | ||
platforms: linux/amd64,linux/arm64 | ||
file: case-engine-rest-api/Dockerfile | ||
push: true | ||
tags: "${{ env.REGISTRY }}/${{ env.REPOSITORY_OWNER }}/case-engine-rest-api:${{ env.BUILD_VERSION }}" | ||
|
||
- name: Build and push Docker image for demo-data-loader | ||
uses: docker/build-push-action@v2 | ||
with: | ||
context: ./demo-data-loader | ||
platforms: linux/amd64,linux/arm64 | ||
file: demo-data-loader/Dockerfile | ||
push: true | ||
tags: "${{ env.REGISTRY }}/${{ env.REPOSITORY_OWNER }}/demo-data-loader:${{ env.BUILD_VERSION }}" | ||
|
||
- name: Build and push Docker image for case-portal | ||
uses: docker/build-push-action@v2 | ||
with: | ||
context: ./case-portal | ||
platforms: linux/amd64,linux/arm64 | ||
file: case-portal/deployments/Dockerfile | ||
push: true | ||
tags: "${{ env.REGISTRY }}/${{ env.REPOSITORY_OWNER }}/case-portal:${{ env.BUILD_VERSION }}" | ||
|
||
deploy: | ||
runs-on: ubuntu-latest | ||
needs: [build] | ||
permissions: | ||
contents: read | ||
packages: write | ||
|
||
steps: | ||
- uses: actions/checkout@v3 | ||
with: | ||
repository: wkspower/wks-gitops | ||
path: wks-gitops | ||
token: ${{ secrets.GH_PAT }} | ||
|
||
- name: Setup necessary env vars | ||
run: | | ||
version=${GITHUB_REF#"refs/tags/"} | ||
major_minor=$(echo ${version} | sed -e 's/^refs\/heads\///') | ||
sha_short=$(echo ${GITHUB_SHA} | cut -c 1-8) | ||
echo "BUILD_VERSION=$major_minor-$sha_short" >> $GITHUB_ENV | ||
- uses: supplypike/setup-bin@v3 | ||
with: | ||
uri: 'https://github.com/kubernetes-sigs/kustomize/releases/download/kustomize%2Fv5.0.0/kustomize_v5.0.0_linux_amd64.tar.gz' | ||
name: 'kustomize' | ||
version: '5.0.0' | ||
|
||
- name: Update kubernetes resources with new tag to Local Environment | ||
run: | | ||
cd wks-gitops/apps | ||
cd opa/local | ||
kustomize edit set image ${{ env.REGISTRY }}/${{ env.REPOSITORY_OWNER }}/opa=${{ env.REGISTRY }}/${{ env.REPOSITORY_OWNER }}/opa:${{ env.BUILD_VERSION }} | ||
cd ../../ | ||
cd case-engine-rest-api/local | ||
kustomize edit set image ${{ env.REGISTRY }}/${{ env.REPOSITORY_OWNER }}/case-engine-rest-api=${{ env.REGISTRY }}/${{ env.REPOSITORY_OWNER }}/case-engine-rest-api:${{ env.BUILD_VERSION }} | ||
cd ../../ | ||
cd demo-data-loader/local | ||
kustomize edit set image ${{ env.REGISTRY }}/${{ env.REPOSITORY_OWNER }}/demo-data-loader=${{ env.REGISTRY }}/${{ env.REPOSITORY_OWNER }}/demo-data-loader:${{ env.BUILD_VERSION }} | ||
cd ../../ | ||
cd c7-external-tasks/local | ||
kustomize edit set image ${{ env.REGISTRY }}/${{ env.REPOSITORY_OWNER }}/c7-external-tasks=${{ env.REGISTRY }}/${{ env.REPOSITORY_OWNER }}/c7-external-tasks:${{ env.BUILD_VERSION }} | ||
cd ../../ | ||
cd case-portal-client/local | ||
kustomize edit set image ${{ env.REGISTRY }}/${{ env.REPOSITORY_OWNER }}/case-portal=${{ env.REGISTRY }}/${{ env.REPOSITORY_OWNER }}/case-portal:${{ env.BUILD_VERSION }} | ||
cd ../../ | ||
- name: Update kubernetes resources with new tag to Staging Environment | ||
run: | | ||
cd wks-gitops/apps | ||
cd storage-api/staging | ||
kustomize edit set image ${{ env.REGISTRY }}/${{ env.REPOSITORY_OWNER }}/storage-api=${{ env.REGISTRY }}/${{ env.REPOSITORY_OWNER }}/storage-api:${{ env.BUILD_VERSION }} | ||
cd ../../ | ||
cd opa/staging | ||
kustomize edit set image ${{ env.REGISTRY }}/${{ env.REPOSITORY_OWNER }}/opa=${{ env.REGISTRY }}/${{ env.REPOSITORY_OWNER }}/opa:${{ env.BUILD_VERSION }} | ||
cd ../../ | ||
cd case-engine-rest-api/staging | ||
kustomize edit set image ${{ env.REGISTRY }}/${{ env.REPOSITORY_OWNER }}/case-engine-rest-api=${{ env.REGISTRY }}/${{ env.REPOSITORY_OWNER }}/case-engine-rest-api:${{ env.BUILD_VERSION }} | ||
cd ../../ | ||
cd demo-data-loader/staging | ||
kustomize edit set image ${{ env.REGISTRY }}/${{ env.REPOSITORY_OWNER }}/demo-data-loader=${{ env.REGISTRY }}/${{ env.REPOSITORY_OWNER }}/demo-data-loader:${{ env.BUILD_VERSION }} | ||
cd ../../ | ||
cd c7-external-tasks/staging | ||
kustomize edit set image ${{ env.REGISTRY }}/${{ env.REPOSITORY_OWNER }}/c7-external-tasks=${{ env.REGISTRY }}/${{ env.REPOSITORY_OWNER }}/c7-external-tasks:${{ env.BUILD_VERSION }} | ||
cd ../../ | ||
cd case-portal-client/staging | ||
kustomize edit set image ${{ env.REGISTRY }}/${{ env.REPOSITORY_OWNER }}/case-portal=${{ env.REGISTRY }}/${{ env.REPOSITORY_OWNER }}/case-portal:${{ env.BUILD_VERSION }} | ||
cd ../../ | ||
- name: New tag release for continuous delivery | ||
run: | | ||
cd wks-gitops | ||
git config --local user.email "[email protected]" | ||
git config --local user.name "GitHub Action" | ||
git commit -am "Release docker tag" | ||
git push |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,166 @@ | ||
name: deploy(disabled) | ||
|
||
on: | ||
workflow_dispatch: | ||
|
||
env: | ||
REGISTRY: ghcr.io | ||
REPOSITORY_OWNER: wkspower | ||
WEBSOCKET_ENABLED: true | ||
TOPIC_CASE_CREATE: case-create | ||
TOPIC_CREATE_HUMAN_TASK: human-task-create | ||
NOVU_ENABLED: true | ||
KEYCLOAK_URL_LOCAL: http://login.wkspower.local | ||
WKS_API_URL_LOCAL: http://api.wkspower.local | ||
WKS_STORAGE_API_URL_LOCAL: http://api.wkspower.local/storage | ||
WEBSOCKET_URL_LOCAL: ws://ws.wkspower.local | ||
NOVU_PUBLISHER_API_URL_LOCAL: http://novu.wkspower.local | ||
|
||
jobs: | ||
build: | ||
runs-on: ubuntu-latest | ||
permissions: | ||
contents: read | ||
packages: write | ||
|
||
steps: | ||
- uses: actions/checkout@v3 | ||
|
||
- name: Set up jdk 18 | ||
uses: actions/setup-java@v3 | ||
with: | ||
java-version: "18" | ||
distribution: "temurin" | ||
|
||
- name: Set up maven | ||
uses: stCarolas/[email protected] | ||
with: | ||
maven-version: 3.8.2 | ||
|
||
- name: Install dependencies for case-portal | ||
run: yarn --cwd apps/react/case-portal install | ||
|
||
- name: Build for case-portal | ||
env: | ||
NODE_OPTIONS: "--max_old_space_size=4096" | ||
run: | | ||
export REACT_APP_KEYCLOAK_URL="${{ env.KEYCLOAK_URL_LOCAL }}" | ||
export REACT_APP_API_URL="${{ env.WKS_API_URL_LOCAL }}" | ||
export REACT_APP_STORAGE_URL="${{ env.WKS_STORAGE_API_URL_LOCAL }}" | ||
export REACT_APP_WEBSOCKETS_ENABLED="${{ env.WEBSOCKET_ENABLED }}" | ||
export REACT_APP_WEBSOCKETS_URL="${{ env.WEBSOCKET_URL_LOCAL }}" | ||
export REACT_APP_WEBSOCKETS_CASE_CREATED="${{ env.TOPIC_CASE_CREATE }}" | ||
export REACT_APP_WEBSOCKETS_HUMAN_TASK_CREATED="${{ env.TOPIC_CREATE_HUMAN_TASK }}" | ||
export REACT_APP_NOVU_ENABLED="${{ env.NOVU_ENABLED }}" | ||
export REACT_APP_NOVU_PUBLISHER_API_URL="${{ env.NOVU_PUBLISHER_API_URL_LOCAL }}" | ||
yarn --cwd apps/react/case-portal build | ||
- name: Extract tag name | ||
id: extract_tag | ||
run: echo "::set-output name=tag::$(echo ${GITHUB_REF#refs/tags/})" | ||
|
||
- name: Log in to the Container registry | ||
uses: docker/login-action@f054a8b539a109f9f41c372932f1ae047eff08c9 | ||
with: | ||
registry: ${{ env.REGISTRY }} | ||
username: ${{ github.actor }} | ||
password: ${{ secrets.GITHUB_TOKEN }} | ||
|
||
- name: Set up QEMU | ||
uses: docker/setup-qemu-action@v2 | ||
|
||
- name: Set up Docker Buildx | ||
uses: docker/setup-buildx-action@v2 | ||
|
||
- name: Build and push Docker image for case-portal | ||
uses: docker/build-push-action@v2 | ||
with: | ||
context: ./apps/react/case-portal | ||
platforms: linux/amd64,linux/arm64 | ||
file: apps/react/case-portal/deployments/Dockerfile | ||
push: true | ||
tags: "${{ env.REGISTRY }}/${{ env.REPOSITORY_OWNER }}/case-portal-local:${{ steps.extract_tag.outputs.tag }}" | ||
|
||
deploy: | ||
runs-on: ubuntu-latest | ||
needs: [build] | ||
permissions: | ||
contents: read | ||
packages: write | ||
|
||
steps: | ||
- uses: actions/checkout@v3 | ||
with: | ||
repository: wkspower/wks-gitops | ||
path: wks-gitops | ||
token: ${{ secrets.GH_PAT }} | ||
|
||
- name: Extract tag name | ||
id: extract_tag | ||
run: echo "::set-output name=tag::$(echo ${GITHUB_REF#refs/tags/})" | ||
|
||
- uses: supplypike/setup-bin@v3 | ||
with: | ||
uri: 'https://github.com/kubernetes-sigs/kustomize/releases/download/kustomize%2Fv5.0.0/kustomize_v5.0.0_linux_amd64.tar.gz' | ||
name: 'kustomize' | ||
version: '5.0.0' | ||
|
||
- name: Update kubernetes resources with new tag to Local Environment | ||
run: | | ||
cd wks-gitops/apps | ||
cd opa/local | ||
kustomize edit set image ${{ env.REGISTRY }}/${{ env.REPOSITORY_OWNER }}/opa=${{ env.REGISTRY }}/${{ env.REPOSITORY_OWNER }}/opa:${{ steps.extract_tag.outputs.tag }} | ||
cd ../../ | ||
cd case-engine-rest-api/local | ||
kustomize edit set image ${{ env.REGISTRY }}/${{ env.REPOSITORY_OWNER }}/case-engine-rest-api=${{ env.REGISTRY }}/${{ env.REPOSITORY_OWNER }}/case-engine-rest-api:${{ steps.extract_tag.outputs.tag }} | ||
cd ../../ | ||
cd demo-data-loader/local | ||
kustomize edit set image ${{ env.REGISTRY }}/${{ env.REPOSITORY_OWNER }}/demo-data-loader=${{ env.REGISTRY }}/${{ env.REPOSITORY_OWNER }}/demo-data-loader:${{ steps.extract_tag.outputs.tag }} | ||
cd ../../ | ||
cd c7-external-tasks/local | ||
kustomize edit set image ${{ env.REGISTRY }}/${{ env.REPOSITORY_OWNER }}/c7-external-tasks=${{ env.REGISTRY }}/${{ env.REPOSITORY_OWNER }}/c7-external-tasks:${{ steps.extract_tag.outputs.tag }} | ||
cd ../../ | ||
cd case-portal/local | ||
kustomize edit set image ${{ env.REGISTRY }}/${{ env.REPOSITORY_OWNER }}/case-portal-local=${{ env.REGISTRY }}/${{ env.REPOSITORY_OWNER }}/case-portal-local:${{ steps.extract_tag.outputs.tag }} | ||
cd ../../ | ||
- name: Update kubernetes resources with new tag to Staging Environment | ||
run: | | ||
cd wks-gitops/apps | ||
cd storage-api/staging | ||
kustomize edit set image ${{ env.REGISTRY }}/${{ env.REPOSITORY_OWNER }}/storage-api=${{ env.REGISTRY }}/${{ env.REPOSITORY_OWNER }}/storage-api:${{ steps.extract_tag.outputs.tag }} | ||
cd ../../ | ||
cd opa/staging | ||
kustomize edit set image ${{ env.REGISTRY }}/${{ env.REPOSITORY_OWNER }}/opa=${{ env.REGISTRY }}/${{ env.REPOSITORY_OWNER }}/opa:${{ steps.extract_tag.outputs.tag }} | ||
cd ../../ | ||
cd case-engine-rest-api/staging | ||
kustomize edit set image ${{ env.REGISTRY }}/${{ env.REPOSITORY_OWNER }}/case-engine-rest-api=${{ env.REGISTRY }}/${{ env.REPOSITORY_OWNER }}/case-engine-rest-api:${{ steps.extract_tag.outputs.tag }} | ||
cd ../../ | ||
cd demo-data-loader/staging | ||
kustomize edit set image ${{ env.REGISTRY }}/${{ env.REPOSITORY_OWNER }}/demo-data-loader=${{ env.REGISTRY }}/${{ env.REPOSITORY_OWNER }}/demo-data-loader:${{ steps.extract_tag.outputs.tag }} | ||
cd ../../ | ||
cd c7-external-tasks/staging | ||
kustomize edit set image ${{ env.REGISTRY }}/${{ env.REPOSITORY_OWNER }}/c7-external-tasks=${{ env.REGISTRY }}/${{ env.REPOSITORY_OWNER }}/c7-external-tasks:${{ steps.extract_tag.outputs.tag }} | ||
cd ../../ | ||
cd case-portal-client/staging | ||
kustomize edit set image ${{ env.REGISTRY }}/${{ env.REPOSITORY_OWNER }}/case-portal-local=${{ env.REGISTRY }}/${{ env.REPOSITORY_OWNER }}/case-portal-local:${{ steps.extract_tag.outputs.tag }} | ||
cd ../../ | ||
- name: New tag release for continuous delivery | ||
run: | | ||
cd wks-gitops | ||
git config --local user.email "[email protected]" | ||
git config --local user.name "GitHub Action" | ||
git commit -am "Release docker tag" | ||
git push |