Skip to content

add auth to artifact registory #2

add auth to artifact registory

add auth to artifact registory #2

Workflow file for this run

on:
push:
branches:
- main
name: Build and Deploy a Container
env:
GCP_PROJECT_ID: ${{ secrets.GCP_PROJECT_ID }}
LOCATION: ${{ secrets.LOCATION }}
AR_REPOSITORY_NAME: ${{ secrets.AR_REPOSITORY_NAME }}
IMAGE: ${{ secrets.LOCATION }}-docker.pkg.dev/${{ secrets.GCP_PROJECT_ID }}/${{ secrets.AR_REPOSITORY_NAME }}/app:${{ github.sha }}
CLOUD_SQL_INSTANCE_NAME: ${{ secrets.GCP_PROJECT_ID }}:${{ secrets.LOCATION }}:${{ secrets.CLOUD_SQL_INSTANCE_NAME }}
jobs:
deploy:
runs-on: ubuntu-latest
permissions:
contents: 'read'
id-token: 'write'
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Setup Cloud SDK
uses: google-github-actions/setup-gcloud@v0.2.0
with:
project_id: ${{ env.GCP_PROJECT_ID }}
service_account_key: ${{ secrets.GCP_SA_KEY }}
export_default_credentials: true
- name: Authorize Docker push
run: gcloud auth configure-docker asia-northeast1-docker.pkg.dev
- name: Build and Push Container
run: |-
docker compose build app
docker compose push app
- name: Deploy to Cloud Run
id: deploy
uses: google-github-actions/deploy-cloudrun@v1
with:
service: ${{ secrets.APP_NAME }}
image: ${{ env.IMAGE }}
region: ${{ env.LOCATION }}
flags: '--add-cloudsql-instances=${{ env.CLOUD_SQL_INSTANCE_NAME }}'
env_vars:
INSTANCE_CONNECTION_NAME=${{ env.GCP_PROJECT_ID }}:${{ env.LOCATION }}:${{ env.CLOUD_SQL_INSTANCE_NAME }}
DB_USERNAME=${{ secrets.CLOUD_SQL_USER_NAME }}
DB_PASSWORD=${{ secrets.CLOUD_SQL_PASSWORD }}
DB_NAME=${{ secrets.CLOUD_SQL_DATABASE_NAME }}
RAILS_SERVE_STATIC_FILES=true