From d32b4b7b1322ae7c9efdd28a29972c1a74396cef Mon Sep 17 00:00:00 2001 From: rodecapd <97561243+rodecapd@users.noreply.github.com> Date: Fri, 7 Jun 2024 14:07:03 -0500 Subject: [PATCH 1/5] Updated for new deployment process --- .../workflows/gradle-build-development.yml | 91 +++++++++++-------- 1 file changed, 52 insertions(+), 39 deletions(-) diff --git a/.github/workflows/gradle-build-development.yml b/.github/workflows/gradle-build-development.yml index 59d500c30..c1c44cb54 100644 --- a/.github/workflows/gradle-build-development.yml +++ b/.github/workflows/gradle-build-development.yml @@ -2,22 +2,35 @@ name: Gradle Build & Deploy - Develop on: push: branches: - - 'develop' - + # - 'develop' + - 'feature/2486-create-new-pipeline-for-updated-build-deployment' env: - PROJECT_ID: ${{ secrets.RUN_PROJECT }} + PROJECT_ID: ${{ secrets.PROJECT_ID }} + PROJECT_NAME: ${{ secrets.PROJECT_NAME }} RUN_REGION: us-central1 SERVICE_NAME: checkins-develop jobs: build: runs-on: ubuntu-latest environment: - name: Development - url: https://checkins-develop-tuvcfzotpq-uc.a.run.app/ + name: DEV-POC + # url: ${{ env.CLOUD_RUN_ADDRESS }}/ steps: - uses: actions/checkout@v4 with: fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis + - id: 'auth_with_gcp' + uses: 'google-github-actions/auth@v2' + with: + project_id: '${{env.PROJECT_ID}}' + workload_identity_provider: '${{secrets.WORKLOAD_IDENTITY_PROVIDER}}' + service_account: '${{secrets.GCLOUD_SERVICEACCOUNT}}' + - id: 'secrets' + uses: 'google-github-actions/get-secretmanager-secrets@v2' + with: + secrets: |- + cloud_run_address:${{env.PROJECT_ID}}/CLOUD_RUN_ADDRESS + cloud_db_connection_name:${{env.PROJECT_ID}}/CLOUD_DB_CONNECTION_NAME - name: Set up Node LTS uses: actions/setup-node@v4 with: @@ -46,7 +59,7 @@ jobs: with: arguments: assemble env: - VITE_APP_API_URL: https://checkins-develop-tuvcfzotpq-uc.a.run.app + VITE_APP_API_URL: ${{steps.secrets.outputs.cloud_run_address}} - name: Gradle runs tests uses: gradle/gradle-build-action@4137be6a8bf7d7133955359dbd952c0ca73b1021 with: @@ -65,11 +78,11 @@ jobs: - name: Export gcloud related env variable run: export CLOUDSDK_PYTHON="/usr/bin/python2" # Setup gcloud CLI - - uses: google-github-actions/setup-gcloud@v0 + - uses: google-github-actions/setup-gcloud@v2 with: - version: "290.0.1" - service_account_key: ${{ secrets.RUN_SA_KEY }} - project_id: ${{ secrets.RUN_PROJECT }} + version: "477.0.0" + # service_account_key: ${{ secrets.RUN_SA_KEY }} + # project_id: ${{ secrets.RUN_PROJECT }} - name: Auth Configure Docker run: |- gcloud --quiet auth configure-docker @@ -84,38 +97,38 @@ jobs: - name: Deploy image to Cloud Run run: |- gcloud run deploy "$SERVICE_NAME" \ - --quiet \ + --project "$PROJECT_NAME" \ --region "$RUN_REGION" \ - --image "gcr.io/$PROJECT_ID/$SERVICE_NAME:$GITHUB_SHA" \ + --image "gcr.io/$PROJECT_NAME/$SERVICE_NAME:$GITHUB_SHA" \ --memory 1Gi \ - --add-cloudsql-instances ${{ secrets.DB_CONNECTION_NAME }} \ - --set-env-vars "CLOUD_DB_CONNECTION_NAME=${{ secrets.DB_CONNECTION_NAME }}" \ - --set-env-vars "DB_NAME=${{ secrets.DB_NAME }}" \ - --set-env-vars "DATASOURCES_DEFAULT_PASSWORD=${{ secrets.DB_PASSWORD }}" \ - --set-env-vars "DATASOURCES_DEFAULT_USERNAME=${{ secrets.DB_USERNAME }}" \ - --set-env-vars "AES_KEY=${{ secrets.AES_KEY }}" \ - --set-env-vars "OAUTH_CLIENT_ID=${{ secrets.OAUTH_CLIENT_ID }}" \ - --set-env-vars "OAUTH_CLIENT_SECRET=${{ secrets.OAUTH_CLIENT_SECRET }}" \ - --set-env-vars "OAUTH_CALLBACK_URI"=${{ secrets.OAUTH_CALLBACK_URI }} \ - --set-env-vars "DIRECTORY_ID=${{ secrets.DIRECTORY_ID }}" \ - --set-env-vars "TYPE=${{ secrets.SA_KEY_TYPE }}" \ - --set-env-vars "PROJECT_ID=${{ secrets.RUN_PROJECT }}" \ - --set-env-vars "PRIVATE_KEY_ID=${{ secrets.SA_PRIVATE_KEY_ID }}" \ - --set-env-vars "PRIVATE_KEY=${{ secrets.SA_PRIVATE_KEY }}" \ - --set-env-vars "CLIENT_EMAIL=${{ secrets.SA_CLIENT_EMAIL }}" \ - --set-env-vars "CLIENT_ID=${{ secrets.SA_CLIENT_ID }}" \ - --set-env-vars "AUTH_URI=${{ secrets.SA_AUTH_URI }}" \ - --set-env-vars "TOKEN_URI=${{ secrets.SA_TOKEN_URI }}" \ - --set-env-vars "AUTH_PROVIDER_X509_CERT_URL=${{ secrets.SA_AUTH_PROVIDER_X509_CERT_URL }}" \ - --set-env-vars "CLIENT_X509_CERT_URL=${{ secrets.SA_CLIENT_X509_CERT_URL }}" \ - --set-env-vars "GSUITE_SUPER_ADMIN=${{ secrets.GSUITE_SUPER_ADMIN }}" \ - --set-env-vars "MJ_APIKEY_PUBLIC=${{ secrets.MJ_APIKEY_PUBLIC }}" \ - --set-env-vars "MJ_APIKEY_PRIVATE=${{ secrets.MJ_APIKEY_PRIVATE }}" \ - --set-env-vars "GIT_HUB_TOKEN=${{ secrets.GIT_HUB_TOKEN }}" \ - --set-env-vars "WEB_ADDRESS=https://checkins-develop-tuvcfzotpq-uc.a.run.app" \ - --set-env-vars "FROM_ADDRESS=kimberlinm@objectcomputing.com" \ + --add-cloudsql-instances ${{steps.secrets.outputs.cloud_db_connection_name }} \ + --set-secrets "CLOUD_DB_CONNECTION_NAME=CLOUD_DB_CONNECTION_NAME:latest" \ + --set-secrets "DB_NAME=DB_NAME:latest" \ + --set-secrets "DATASOURCES_DEFAULT_PASSWORD=DATASOURCES_DEFAULT_PASSWORD:latest" \ + --set-secrets "DATASOURCES_DEFAULT_USERNAME=DATASOURCES_DEFAULT_USERNAME:latest" \ + --set-secrets "AES_KEY=AES_KEY:latest" \ + --set-secrets "OAUTH_CLIENT_ID=OAUTH_CLIENT_ID:latest" \ + --set-secrets "OAUTH_CLIENT_SECRET=OAUTH_CLIENT_SECRET:latest" \ + --set-secrets "OAUTH_CALLBACK_URI=OAUTH_CALLBACK_URI:latest" \ + --set-secrets "DIRECTORY_ID=DIRECTORY_ID:latest" \ + --set-secrets "TYPE=SA_KEY_TYPE:latest" \ + --set-secrets "PROJECT_ID=PROJECT_ID:latest" \ + --set-secrets "PRIVATE_KEY_ID=PRIVATE_KEY_ID:latest" \ + --set-secrets "PRIVATE_KEY=PRIVATE_KEY:latest" \ + --set-secrets "CLIENT_EMAIL=CLIENT_EMAIL:latest" \ + --set-secrets "CLIENT_ID=CLIENT_ID:latest" \ + --set-secrets "AUTH_URI=AUTH_URI:latest" \ + --set-secrets "TOKEN_URI=TOKEN_URI:latest" \ + --set-secrets "AUTH_PROVIDER_X509_CERT_URL=AUTH_PROVIDER_X509_CERT_URL:latest" \ + --set-secrets "CLIENT_X509_CERT_URL=CLIENT_X509_CERT_URL:latest" \ + --set-secrets "GSUITE_SUPER_ADMIN=GSUITE_SUPER_ADMIN:latest" \ + --set-secrets "MJ_APIKEY_PUBLIC=MJ_APIKEY_PUBLIC:latest" \ + --set-secrets "MJ_APIKEY_PRIVATE=MJ_APIKEY_PRIVATE:latest" \ + --set-secrets "WEB_ADDRESS=CLOUD_RUN_ADDRESS:latest" \ + --set-secrets "FROM_ADDRESS=FROM_ADDRESS:latest" \ --set-env-vars "FROM_NAME=Check-Ins - DEVELOP" \ - --set-env-vars "^@^MICRONAUT_ENVIRONMENTS=dev,cloud,google,gcp" \ + --set-secrets "MICRONAUT_ENVIRONMENTS=MICRONAUT_ENVIRONMENTS:latest" \ --platform "managed" \ --max-instances 2 \ --allow-unauthenticated + From 49a0995da538589b8a8e9d65b589e8e7ffcb9402 Mon Sep 17 00:00:00 2001 From: rodecapd <97561243+rodecapd@users.noreply.github.com> Date: Fri, 7 Jun 2024 14:22:16 -0500 Subject: [PATCH 2/5] Updated for new deployment process --- .../workflows/gradle-build-development.yml | 91 +++++++----- .github/workflows/gradle-build-poc.yml | 134 ++++++++++++++++++ 2 files changed, 186 insertions(+), 39 deletions(-) create mode 100644 .github/workflows/gradle-build-poc.yml diff --git a/.github/workflows/gradle-build-development.yml b/.github/workflows/gradle-build-development.yml index 59d500c30..c1c44cb54 100644 --- a/.github/workflows/gradle-build-development.yml +++ b/.github/workflows/gradle-build-development.yml @@ -2,22 +2,35 @@ name: Gradle Build & Deploy - Develop on: push: branches: - - 'develop' - + # - 'develop' + - 'feature/2486-create-new-pipeline-for-updated-build-deployment' env: - PROJECT_ID: ${{ secrets.RUN_PROJECT }} + PROJECT_ID: ${{ secrets.PROJECT_ID }} + PROJECT_NAME: ${{ secrets.PROJECT_NAME }} RUN_REGION: us-central1 SERVICE_NAME: checkins-develop jobs: build: runs-on: ubuntu-latest environment: - name: Development - url: https://checkins-develop-tuvcfzotpq-uc.a.run.app/ + name: DEV-POC + # url: ${{ env.CLOUD_RUN_ADDRESS }}/ steps: - uses: actions/checkout@v4 with: fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis + - id: 'auth_with_gcp' + uses: 'google-github-actions/auth@v2' + with: + project_id: '${{env.PROJECT_ID}}' + workload_identity_provider: '${{secrets.WORKLOAD_IDENTITY_PROVIDER}}' + service_account: '${{secrets.GCLOUD_SERVICEACCOUNT}}' + - id: 'secrets' + uses: 'google-github-actions/get-secretmanager-secrets@v2' + with: + secrets: |- + cloud_run_address:${{env.PROJECT_ID}}/CLOUD_RUN_ADDRESS + cloud_db_connection_name:${{env.PROJECT_ID}}/CLOUD_DB_CONNECTION_NAME - name: Set up Node LTS uses: actions/setup-node@v4 with: @@ -46,7 +59,7 @@ jobs: with: arguments: assemble env: - VITE_APP_API_URL: https://checkins-develop-tuvcfzotpq-uc.a.run.app + VITE_APP_API_URL: ${{steps.secrets.outputs.cloud_run_address}} - name: Gradle runs tests uses: gradle/gradle-build-action@4137be6a8bf7d7133955359dbd952c0ca73b1021 with: @@ -65,11 +78,11 @@ jobs: - name: Export gcloud related env variable run: export CLOUDSDK_PYTHON="/usr/bin/python2" # Setup gcloud CLI - - uses: google-github-actions/setup-gcloud@v0 + - uses: google-github-actions/setup-gcloud@v2 with: - version: "290.0.1" - service_account_key: ${{ secrets.RUN_SA_KEY }} - project_id: ${{ secrets.RUN_PROJECT }} + version: "477.0.0" + # service_account_key: ${{ secrets.RUN_SA_KEY }} + # project_id: ${{ secrets.RUN_PROJECT }} - name: Auth Configure Docker run: |- gcloud --quiet auth configure-docker @@ -84,38 +97,38 @@ jobs: - name: Deploy image to Cloud Run run: |- gcloud run deploy "$SERVICE_NAME" \ - --quiet \ + --project "$PROJECT_NAME" \ --region "$RUN_REGION" \ - --image "gcr.io/$PROJECT_ID/$SERVICE_NAME:$GITHUB_SHA" \ + --image "gcr.io/$PROJECT_NAME/$SERVICE_NAME:$GITHUB_SHA" \ --memory 1Gi \ - --add-cloudsql-instances ${{ secrets.DB_CONNECTION_NAME }} \ - --set-env-vars "CLOUD_DB_CONNECTION_NAME=${{ secrets.DB_CONNECTION_NAME }}" \ - --set-env-vars "DB_NAME=${{ secrets.DB_NAME }}" \ - --set-env-vars "DATASOURCES_DEFAULT_PASSWORD=${{ secrets.DB_PASSWORD }}" \ - --set-env-vars "DATASOURCES_DEFAULT_USERNAME=${{ secrets.DB_USERNAME }}" \ - --set-env-vars "AES_KEY=${{ secrets.AES_KEY }}" \ - --set-env-vars "OAUTH_CLIENT_ID=${{ secrets.OAUTH_CLIENT_ID }}" \ - --set-env-vars "OAUTH_CLIENT_SECRET=${{ secrets.OAUTH_CLIENT_SECRET }}" \ - --set-env-vars "OAUTH_CALLBACK_URI"=${{ secrets.OAUTH_CALLBACK_URI }} \ - --set-env-vars "DIRECTORY_ID=${{ secrets.DIRECTORY_ID }}" \ - --set-env-vars "TYPE=${{ secrets.SA_KEY_TYPE }}" \ - --set-env-vars "PROJECT_ID=${{ secrets.RUN_PROJECT }}" \ - --set-env-vars "PRIVATE_KEY_ID=${{ secrets.SA_PRIVATE_KEY_ID }}" \ - --set-env-vars "PRIVATE_KEY=${{ secrets.SA_PRIVATE_KEY }}" \ - --set-env-vars "CLIENT_EMAIL=${{ secrets.SA_CLIENT_EMAIL }}" \ - --set-env-vars "CLIENT_ID=${{ secrets.SA_CLIENT_ID }}" \ - --set-env-vars "AUTH_URI=${{ secrets.SA_AUTH_URI }}" \ - --set-env-vars "TOKEN_URI=${{ secrets.SA_TOKEN_URI }}" \ - --set-env-vars "AUTH_PROVIDER_X509_CERT_URL=${{ secrets.SA_AUTH_PROVIDER_X509_CERT_URL }}" \ - --set-env-vars "CLIENT_X509_CERT_URL=${{ secrets.SA_CLIENT_X509_CERT_URL }}" \ - --set-env-vars "GSUITE_SUPER_ADMIN=${{ secrets.GSUITE_SUPER_ADMIN }}" \ - --set-env-vars "MJ_APIKEY_PUBLIC=${{ secrets.MJ_APIKEY_PUBLIC }}" \ - --set-env-vars "MJ_APIKEY_PRIVATE=${{ secrets.MJ_APIKEY_PRIVATE }}" \ - --set-env-vars "GIT_HUB_TOKEN=${{ secrets.GIT_HUB_TOKEN }}" \ - --set-env-vars "WEB_ADDRESS=https://checkins-develop-tuvcfzotpq-uc.a.run.app" \ - --set-env-vars "FROM_ADDRESS=kimberlinm@objectcomputing.com" \ + --add-cloudsql-instances ${{steps.secrets.outputs.cloud_db_connection_name }} \ + --set-secrets "CLOUD_DB_CONNECTION_NAME=CLOUD_DB_CONNECTION_NAME:latest" \ + --set-secrets "DB_NAME=DB_NAME:latest" \ + --set-secrets "DATASOURCES_DEFAULT_PASSWORD=DATASOURCES_DEFAULT_PASSWORD:latest" \ + --set-secrets "DATASOURCES_DEFAULT_USERNAME=DATASOURCES_DEFAULT_USERNAME:latest" \ + --set-secrets "AES_KEY=AES_KEY:latest" \ + --set-secrets "OAUTH_CLIENT_ID=OAUTH_CLIENT_ID:latest" \ + --set-secrets "OAUTH_CLIENT_SECRET=OAUTH_CLIENT_SECRET:latest" \ + --set-secrets "OAUTH_CALLBACK_URI=OAUTH_CALLBACK_URI:latest" \ + --set-secrets "DIRECTORY_ID=DIRECTORY_ID:latest" \ + --set-secrets "TYPE=SA_KEY_TYPE:latest" \ + --set-secrets "PROJECT_ID=PROJECT_ID:latest" \ + --set-secrets "PRIVATE_KEY_ID=PRIVATE_KEY_ID:latest" \ + --set-secrets "PRIVATE_KEY=PRIVATE_KEY:latest" \ + --set-secrets "CLIENT_EMAIL=CLIENT_EMAIL:latest" \ + --set-secrets "CLIENT_ID=CLIENT_ID:latest" \ + --set-secrets "AUTH_URI=AUTH_URI:latest" \ + --set-secrets "TOKEN_URI=TOKEN_URI:latest" \ + --set-secrets "AUTH_PROVIDER_X509_CERT_URL=AUTH_PROVIDER_X509_CERT_URL:latest" \ + --set-secrets "CLIENT_X509_CERT_URL=CLIENT_X509_CERT_URL:latest" \ + --set-secrets "GSUITE_SUPER_ADMIN=GSUITE_SUPER_ADMIN:latest" \ + --set-secrets "MJ_APIKEY_PUBLIC=MJ_APIKEY_PUBLIC:latest" \ + --set-secrets "MJ_APIKEY_PRIVATE=MJ_APIKEY_PRIVATE:latest" \ + --set-secrets "WEB_ADDRESS=CLOUD_RUN_ADDRESS:latest" \ + --set-secrets "FROM_ADDRESS=FROM_ADDRESS:latest" \ --set-env-vars "FROM_NAME=Check-Ins - DEVELOP" \ - --set-env-vars "^@^MICRONAUT_ENVIRONMENTS=dev,cloud,google,gcp" \ + --set-secrets "MICRONAUT_ENVIRONMENTS=MICRONAUT_ENVIRONMENTS:latest" \ --platform "managed" \ --max-instances 2 \ --allow-unauthenticated + diff --git a/.github/workflows/gradle-build-poc.yml b/.github/workflows/gradle-build-poc.yml new file mode 100644 index 000000000..c1c44cb54 --- /dev/null +++ b/.github/workflows/gradle-build-poc.yml @@ -0,0 +1,134 @@ +name: Gradle Build & Deploy - Develop +on: + push: + branches: + # - 'develop' + - 'feature/2486-create-new-pipeline-for-updated-build-deployment' +env: + PROJECT_ID: ${{ secrets.PROJECT_ID }} + PROJECT_NAME: ${{ secrets.PROJECT_NAME }} + RUN_REGION: us-central1 + SERVICE_NAME: checkins-develop +jobs: + build: + runs-on: ubuntu-latest + environment: + name: DEV-POC + # url: ${{ env.CLOUD_RUN_ADDRESS }}/ + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis + - id: 'auth_with_gcp' + uses: 'google-github-actions/auth@v2' + with: + project_id: '${{env.PROJECT_ID}}' + workload_identity_provider: '${{secrets.WORKLOAD_IDENTITY_PROVIDER}}' + service_account: '${{secrets.GCLOUD_SERVICEACCOUNT}}' + - id: 'secrets' + uses: 'google-github-actions/get-secretmanager-secrets@v2' + with: + secrets: |- + cloud_run_address:${{env.PROJECT_ID}}/CLOUD_RUN_ADDRESS + cloud_db_connection_name:${{env.PROJECT_ID}}/CLOUD_DB_CONNECTION_NAME + - name: Set up Node LTS + uses: actions/setup-node@v4 + with: + node-version: '20' + - name: Set up JDK 21 + uses: actions/setup-java@v4 + with: + distribution: 'temurin' # See 'Supported distributions' for available options + java-version: 21 + - name: Cache SonarQube packages + uses: actions/cache@v4 + with: + path: ~/.sonar/cache + key: ${{ runner.os }}-sonar + restore-keys: ${{ runner.os }}-sonar + - name: Cache Gradle packages + uses: actions/cache@v4 + with: + path: ~/.gradle/caches + key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle') }} + restore-keys: ${{ runner.os }}-gradle + - name: Validate Gradle wrapper + uses: gradle/wrapper-validation-action@e6e38bacfdf1a337459f332974bb2327a31aaf4b + - name: Build with Gradle + uses: gradle/gradle-build-action@4137be6a8bf7d7133955359dbd952c0ca73b1021 + with: + arguments: assemble + env: + VITE_APP_API_URL: ${{steps.secrets.outputs.cloud_run_address}} + - name: Gradle runs tests + uses: gradle/gradle-build-action@4137be6a8bf7d7133955359dbd952c0ca73b1021 + with: + arguments: check +# - name: Do SonarQube checks +# uses: gradle/gradle-build-action@4137be6a8bf7d7133955359dbd952c0ca73b1021 +# with: +# arguments: sonarqube --info +# env: +# GITHUB_TOKEN: ${{ secrets.GIT_HUB_TOKEN }} +# SONAR_HOST_URL: ${{ secrets.SONAR_HOST_URL }} +# SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + - name: Setup python + run: | + sudo apt-get install python2.7 + - name: Export gcloud related env variable + run: export CLOUDSDK_PYTHON="/usr/bin/python2" + # Setup gcloud CLI + - uses: google-github-actions/setup-gcloud@v2 + with: + version: "477.0.0" + # service_account_key: ${{ secrets.RUN_SA_KEY }} + # project_id: ${{ secrets.RUN_PROJECT }} + - name: Auth Configure Docker + run: |- + gcloud --quiet auth configure-docker + - name: Build the Docker image + run: |- + cd server + docker build --tag "gcr.io/$PROJECT_ID/$SERVICE_NAME:$GITHUB_SHA" . + - name: Push the Docker image to Google Container Registry + run: |- + cd server + docker push "gcr.io/$PROJECT_ID/$SERVICE_NAME:$GITHUB_SHA" + - name: Deploy image to Cloud Run + run: |- + gcloud run deploy "$SERVICE_NAME" \ + --project "$PROJECT_NAME" \ + --region "$RUN_REGION" \ + --image "gcr.io/$PROJECT_NAME/$SERVICE_NAME:$GITHUB_SHA" \ + --memory 1Gi \ + --add-cloudsql-instances ${{steps.secrets.outputs.cloud_db_connection_name }} \ + --set-secrets "CLOUD_DB_CONNECTION_NAME=CLOUD_DB_CONNECTION_NAME:latest" \ + --set-secrets "DB_NAME=DB_NAME:latest" \ + --set-secrets "DATASOURCES_DEFAULT_PASSWORD=DATASOURCES_DEFAULT_PASSWORD:latest" \ + --set-secrets "DATASOURCES_DEFAULT_USERNAME=DATASOURCES_DEFAULT_USERNAME:latest" \ + --set-secrets "AES_KEY=AES_KEY:latest" \ + --set-secrets "OAUTH_CLIENT_ID=OAUTH_CLIENT_ID:latest" \ + --set-secrets "OAUTH_CLIENT_SECRET=OAUTH_CLIENT_SECRET:latest" \ + --set-secrets "OAUTH_CALLBACK_URI=OAUTH_CALLBACK_URI:latest" \ + --set-secrets "DIRECTORY_ID=DIRECTORY_ID:latest" \ + --set-secrets "TYPE=SA_KEY_TYPE:latest" \ + --set-secrets "PROJECT_ID=PROJECT_ID:latest" \ + --set-secrets "PRIVATE_KEY_ID=PRIVATE_KEY_ID:latest" \ + --set-secrets "PRIVATE_KEY=PRIVATE_KEY:latest" \ + --set-secrets "CLIENT_EMAIL=CLIENT_EMAIL:latest" \ + --set-secrets "CLIENT_ID=CLIENT_ID:latest" \ + --set-secrets "AUTH_URI=AUTH_URI:latest" \ + --set-secrets "TOKEN_URI=TOKEN_URI:latest" \ + --set-secrets "AUTH_PROVIDER_X509_CERT_URL=AUTH_PROVIDER_X509_CERT_URL:latest" \ + --set-secrets "CLIENT_X509_CERT_URL=CLIENT_X509_CERT_URL:latest" \ + --set-secrets "GSUITE_SUPER_ADMIN=GSUITE_SUPER_ADMIN:latest" \ + --set-secrets "MJ_APIKEY_PUBLIC=MJ_APIKEY_PUBLIC:latest" \ + --set-secrets "MJ_APIKEY_PRIVATE=MJ_APIKEY_PRIVATE:latest" \ + --set-secrets "WEB_ADDRESS=CLOUD_RUN_ADDRESS:latest" \ + --set-secrets "FROM_ADDRESS=FROM_ADDRESS:latest" \ + --set-env-vars "FROM_NAME=Check-Ins - DEVELOP" \ + --set-secrets "MICRONAUT_ENVIRONMENTS=MICRONAUT_ENVIRONMENTS:latest" \ + --platform "managed" \ + --max-instances 2 \ + --allow-unauthenticated + From 0944a06dcec788f907daed1b0c2b717fde127205 Mon Sep 17 00:00:00 2001 From: rodecapd <97561243+rodecapd@users.noreply.github.com> Date: Fri, 7 Jun 2024 15:15:31 -0500 Subject: [PATCH 3/5] Revert to original --- .../workflows/gradle-build-development.yml | 91 ++++++++----------- 1 file changed, 39 insertions(+), 52 deletions(-) diff --git a/.github/workflows/gradle-build-development.yml b/.github/workflows/gradle-build-development.yml index c1c44cb54..59d500c30 100644 --- a/.github/workflows/gradle-build-development.yml +++ b/.github/workflows/gradle-build-development.yml @@ -2,35 +2,22 @@ name: Gradle Build & Deploy - Develop on: push: branches: - # - 'develop' - - 'feature/2486-create-new-pipeline-for-updated-build-deployment' + - 'develop' + env: - PROJECT_ID: ${{ secrets.PROJECT_ID }} - PROJECT_NAME: ${{ secrets.PROJECT_NAME }} + PROJECT_ID: ${{ secrets.RUN_PROJECT }} RUN_REGION: us-central1 SERVICE_NAME: checkins-develop jobs: build: runs-on: ubuntu-latest environment: - name: DEV-POC - # url: ${{ env.CLOUD_RUN_ADDRESS }}/ + name: Development + url: https://checkins-develop-tuvcfzotpq-uc.a.run.app/ steps: - uses: actions/checkout@v4 with: fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis - - id: 'auth_with_gcp' - uses: 'google-github-actions/auth@v2' - with: - project_id: '${{env.PROJECT_ID}}' - workload_identity_provider: '${{secrets.WORKLOAD_IDENTITY_PROVIDER}}' - service_account: '${{secrets.GCLOUD_SERVICEACCOUNT}}' - - id: 'secrets' - uses: 'google-github-actions/get-secretmanager-secrets@v2' - with: - secrets: |- - cloud_run_address:${{env.PROJECT_ID}}/CLOUD_RUN_ADDRESS - cloud_db_connection_name:${{env.PROJECT_ID}}/CLOUD_DB_CONNECTION_NAME - name: Set up Node LTS uses: actions/setup-node@v4 with: @@ -59,7 +46,7 @@ jobs: with: arguments: assemble env: - VITE_APP_API_URL: ${{steps.secrets.outputs.cloud_run_address}} + VITE_APP_API_URL: https://checkins-develop-tuvcfzotpq-uc.a.run.app - name: Gradle runs tests uses: gradle/gradle-build-action@4137be6a8bf7d7133955359dbd952c0ca73b1021 with: @@ -78,11 +65,11 @@ jobs: - name: Export gcloud related env variable run: export CLOUDSDK_PYTHON="/usr/bin/python2" # Setup gcloud CLI - - uses: google-github-actions/setup-gcloud@v2 + - uses: google-github-actions/setup-gcloud@v0 with: - version: "477.0.0" - # service_account_key: ${{ secrets.RUN_SA_KEY }} - # project_id: ${{ secrets.RUN_PROJECT }} + version: "290.0.1" + service_account_key: ${{ secrets.RUN_SA_KEY }} + project_id: ${{ secrets.RUN_PROJECT }} - name: Auth Configure Docker run: |- gcloud --quiet auth configure-docker @@ -97,38 +84,38 @@ jobs: - name: Deploy image to Cloud Run run: |- gcloud run deploy "$SERVICE_NAME" \ - --project "$PROJECT_NAME" \ + --quiet \ --region "$RUN_REGION" \ - --image "gcr.io/$PROJECT_NAME/$SERVICE_NAME:$GITHUB_SHA" \ + --image "gcr.io/$PROJECT_ID/$SERVICE_NAME:$GITHUB_SHA" \ --memory 1Gi \ - --add-cloudsql-instances ${{steps.secrets.outputs.cloud_db_connection_name }} \ - --set-secrets "CLOUD_DB_CONNECTION_NAME=CLOUD_DB_CONNECTION_NAME:latest" \ - --set-secrets "DB_NAME=DB_NAME:latest" \ - --set-secrets "DATASOURCES_DEFAULT_PASSWORD=DATASOURCES_DEFAULT_PASSWORD:latest" \ - --set-secrets "DATASOURCES_DEFAULT_USERNAME=DATASOURCES_DEFAULT_USERNAME:latest" \ - --set-secrets "AES_KEY=AES_KEY:latest" \ - --set-secrets "OAUTH_CLIENT_ID=OAUTH_CLIENT_ID:latest" \ - --set-secrets "OAUTH_CLIENT_SECRET=OAUTH_CLIENT_SECRET:latest" \ - --set-secrets "OAUTH_CALLBACK_URI=OAUTH_CALLBACK_URI:latest" \ - --set-secrets "DIRECTORY_ID=DIRECTORY_ID:latest" \ - --set-secrets "TYPE=SA_KEY_TYPE:latest" \ - --set-secrets "PROJECT_ID=PROJECT_ID:latest" \ - --set-secrets "PRIVATE_KEY_ID=PRIVATE_KEY_ID:latest" \ - --set-secrets "PRIVATE_KEY=PRIVATE_KEY:latest" \ - --set-secrets "CLIENT_EMAIL=CLIENT_EMAIL:latest" \ - --set-secrets "CLIENT_ID=CLIENT_ID:latest" \ - --set-secrets "AUTH_URI=AUTH_URI:latest" \ - --set-secrets "TOKEN_URI=TOKEN_URI:latest" \ - --set-secrets "AUTH_PROVIDER_X509_CERT_URL=AUTH_PROVIDER_X509_CERT_URL:latest" \ - --set-secrets "CLIENT_X509_CERT_URL=CLIENT_X509_CERT_URL:latest" \ - --set-secrets "GSUITE_SUPER_ADMIN=GSUITE_SUPER_ADMIN:latest" \ - --set-secrets "MJ_APIKEY_PUBLIC=MJ_APIKEY_PUBLIC:latest" \ - --set-secrets "MJ_APIKEY_PRIVATE=MJ_APIKEY_PRIVATE:latest" \ - --set-secrets "WEB_ADDRESS=CLOUD_RUN_ADDRESS:latest" \ - --set-secrets "FROM_ADDRESS=FROM_ADDRESS:latest" \ + --add-cloudsql-instances ${{ secrets.DB_CONNECTION_NAME }} \ + --set-env-vars "CLOUD_DB_CONNECTION_NAME=${{ secrets.DB_CONNECTION_NAME }}" \ + --set-env-vars "DB_NAME=${{ secrets.DB_NAME }}" \ + --set-env-vars "DATASOURCES_DEFAULT_PASSWORD=${{ secrets.DB_PASSWORD }}" \ + --set-env-vars "DATASOURCES_DEFAULT_USERNAME=${{ secrets.DB_USERNAME }}" \ + --set-env-vars "AES_KEY=${{ secrets.AES_KEY }}" \ + --set-env-vars "OAUTH_CLIENT_ID=${{ secrets.OAUTH_CLIENT_ID }}" \ + --set-env-vars "OAUTH_CLIENT_SECRET=${{ secrets.OAUTH_CLIENT_SECRET }}" \ + --set-env-vars "OAUTH_CALLBACK_URI"=${{ secrets.OAUTH_CALLBACK_URI }} \ + --set-env-vars "DIRECTORY_ID=${{ secrets.DIRECTORY_ID }}" \ + --set-env-vars "TYPE=${{ secrets.SA_KEY_TYPE }}" \ + --set-env-vars "PROJECT_ID=${{ secrets.RUN_PROJECT }}" \ + --set-env-vars "PRIVATE_KEY_ID=${{ secrets.SA_PRIVATE_KEY_ID }}" \ + --set-env-vars "PRIVATE_KEY=${{ secrets.SA_PRIVATE_KEY }}" \ + --set-env-vars "CLIENT_EMAIL=${{ secrets.SA_CLIENT_EMAIL }}" \ + --set-env-vars "CLIENT_ID=${{ secrets.SA_CLIENT_ID }}" \ + --set-env-vars "AUTH_URI=${{ secrets.SA_AUTH_URI }}" \ + --set-env-vars "TOKEN_URI=${{ secrets.SA_TOKEN_URI }}" \ + --set-env-vars "AUTH_PROVIDER_X509_CERT_URL=${{ secrets.SA_AUTH_PROVIDER_X509_CERT_URL }}" \ + --set-env-vars "CLIENT_X509_CERT_URL=${{ secrets.SA_CLIENT_X509_CERT_URL }}" \ + --set-env-vars "GSUITE_SUPER_ADMIN=${{ secrets.GSUITE_SUPER_ADMIN }}" \ + --set-env-vars "MJ_APIKEY_PUBLIC=${{ secrets.MJ_APIKEY_PUBLIC }}" \ + --set-env-vars "MJ_APIKEY_PRIVATE=${{ secrets.MJ_APIKEY_PRIVATE }}" \ + --set-env-vars "GIT_HUB_TOKEN=${{ secrets.GIT_HUB_TOKEN }}" \ + --set-env-vars "WEB_ADDRESS=https://checkins-develop-tuvcfzotpq-uc.a.run.app" \ + --set-env-vars "FROM_ADDRESS=kimberlinm@objectcomputing.com" \ --set-env-vars "FROM_NAME=Check-Ins - DEVELOP" \ - --set-secrets "MICRONAUT_ENVIRONMENTS=MICRONAUT_ENVIRONMENTS:latest" \ + --set-env-vars "^@^MICRONAUT_ENVIRONMENTS=dev,cloud,google,gcp" \ --platform "managed" \ --max-instances 2 \ --allow-unauthenticated - From 76dab2e49d6642ddcde62654fab4df3f5b0fc292 Mon Sep 17 00:00:00 2001 From: rodecapd <97561243+rodecapd@users.noreply.github.com> Date: Fri, 7 Jun 2024 15:21:36 -0500 Subject: [PATCH 4/5] Updated workflow name --- .github/workflows/gradle-build-poc.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/gradle-build-poc.yml b/.github/workflows/gradle-build-poc.yml index c1c44cb54..a5c76f996 100644 --- a/.github/workflows/gradle-build-poc.yml +++ b/.github/workflows/gradle-build-poc.yml @@ -1,4 +1,4 @@ -name: Gradle Build & Deploy - Develop +name: Gradle Build & Deploy - POC on: push: branches: From 73bfcb18c1deabbeaccd6b3d1f39e0842d7cfec7 Mon Sep 17 00:00:00 2001 From: rodecapd <97561243+rodecapd@users.noreply.github.com> Date: Fri, 7 Jun 2024 16:52:29 -0500 Subject: [PATCH 5/5] fix branch name --- .github/workflows/gradle-build-poc.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/gradle-build-poc.yml b/.github/workflows/gradle-build-poc.yml index a5c76f996..6f033cc0e 100644 --- a/.github/workflows/gradle-build-poc.yml +++ b/.github/workflows/gradle-build-poc.yml @@ -3,7 +3,7 @@ on: push: branches: # - 'develop' - - 'feature/2486-create-new-pipeline-for-updated-build-deployment' + - '2486-create-new-pipeline-for-updated-build-deployment' env: PROJECT_ID: ${{ secrets.PROJECT_ID }} PROJECT_NAME: ${{ secrets.PROJECT_NAME }}