style: 코드 정리 #12
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
# This workflow build and push a Docker container to Google Artifact Registry and deploy it on Cloud Run when a commit is pushed to the "master" branch | |
name: Deploy GCP Cloud Run to Dev Server | |
on: | |
pull_request: | |
branches: [ main ] | |
env: | |
PROJECT_ID: ${{secrets.PROJECT_ID}} | |
SERVICE: ${{secrets.SERVICE}} | |
REGION: ${{secrets.REGION}} | |
ARTIFACT_REGISTRY: ${{secrets.ARTIFACT_REGISTRY}} | |
defaults: | |
run: | |
working-directory: backend | |
jobs: | |
deploy: | |
# Add 'id-token' with the intended permissions for workload identity federation | |
permissions: | |
contents: 'read' | |
id-token: 'write' | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
with: | |
submodules: recursive | |
token: ${{ secrets.ACTION_TOKEN }} | |
- name: Google Auth | |
id: auth | |
uses: 'google-github-actions/auth@v2' | |
with: | |
token_format: 'access_token' | |
workload_identity_provider: '${{ secrets.WIF_PROVIDER }}' # e.g. - projects/123456789/locations/global/workloadIdentityPools/my-pool/providers/my-provider | |
service_account: '${{ secrets.WIF_SERVICE_ACCOUNT }}' # e.g. - [email protected] | |
project_id: '${{env.PROJECT_ID}}' | |
- uses: actions/setup-java@v4 | |
with: | |
distribution: 'temurin' | |
java-version: 21 | |
# BEGIN - Docker auth and build (NOTE: If you already have a container image, these Docker steps can be omitted) | |
# Authenticate Docker to Google Cloud Artifact Registry | |
# Authenticate JIB to Google Cloud Run | |
- name: Build and Push Container using Jib | |
env: | |
GOOGLE_AR_CLIENT_SECRET: ${{ secrets.GOOGLE_AR_CLIENT_SECRET }} | |
SPRING_PROFILES_ACTIVE: dev | |
run: ./gradlew jib | |
# END - Docker auth and build | |
- name: Deploy to Cloud Run | |
id: deploy | |
uses: google-github-actions/deploy-cloudrun@v2 | |
with: | |
service: ${{ env.SERVICE }} | |
region: ${{ env.REGION }} | |
# NOTE: If using a pre-built image, update the image name here | |
image: ${{ env.REGION }}-docker.pkg.dev/${{ env.PROJECT_ID }}/${{ env.ARTIFACT_REGISTRY }}/${{ env.SERVICE }}:latest | |
# If required, use the Cloud Run url output in later steps | |
- name: Show Output | |
run: echo ${{ steps.deploy.outputs.url }} |