Skip to content
on:
push:
branches:
- develop
- feature/check-exist
name: Build and Deploy to Cloud Run on merge to branch 'develop'
env:
PROJECT_ID: ${{ secrets.GCP_PROJECT_ID_DEV }}
REGION: ${{ secrets.GCP_REGION_DEV }}
SERVICE_NAME: ${{ secrets.SERVICE_NAME_DEV }}
jobs:
deploy:
runs-on: ubuntu-latest
permissions:
contents: 'read'
id-token: 'write'
steps:
- name: Checkout
uses: actions/checkout@v3
- id: 'auth'
name: 'Authenticate to Google Cloud'
uses: 'google-github-actions/auth@v0.4.0'
with:
workload_identity_provider: ${{ secrets.WORKLOAD_IDENTITY_PROVIDER_DEV }}
service_account: github-actions@${{ secrets.GCP_PROJECT_ID_DEV }}.iam.gserviceaccount.com
- name: Set up Cloud SDK
uses: google-github-actions/setup-gcloud@v0
- name: Authorize Docker push
run: gcloud auth configure-docker
- name: Build Docker image
run: docker build -t asia.gcr.io/$PROJECT_ID/$SERVICE_NAME:${{ github.sha }} .
- name: Push Docker Image
run: docker push asia.gcr.io/$PROJECT_ID/$SERVICE_NAME:${{ github.sha }}
- name: Deploy to Cloud Run
run: |-
gcloud run deploy $SERVICE_NAME \
--project=$PROJECT_ID \
--image=asia.gcr.io/$PROJECT_ID/$SERVICE_NAME:${{ github.sha }} \
--region=$REGION \
--allow-unauthenticated