前回の続き。
OIDCでGitHub Actions内でgcloudコマンドが使えるようになったので、
firebase CLI(firebase-tools)もできるようにしたいなと調べたときの備忘録(*´ω`*)
firebase-toolsとgoogle-github-actions/authのドキュメントを見てみると、
- firebase-toolsは、GOOGLE_APPLICATION_CREDENTIALSをつかう
google-github-actions/auth@v1
は、GOOGLE_APPLICATION_CREDENTIALSを設定する
なので、そのまま使えるっぽい(*´ω`*)
name: "[MAIN] Deploy" "on": push: branches: - main workflow_dispatch: env: SERVICE_ACCOUNT: "YOUR_SERVICE_ACCOUNT_EMAIL" PROVIDER: "YOUR_WORKLOAD_IDENTITY_PROVIDER" jobs: build_and_deploy_dev: runs-on: ubuntu-latest # Add "id-token" with the intended permissions. permissions: id-token: write contents: read steps: # actions/checkout MUST come before auth - uses: actions/checkout@v3 # Configure Workload Identity Federation via a credentials file. - uses: google-github-actions/auth@v1 with: service_account: ${{ env.SERVICE_ACCOUNT }} workload_identity_provider: ${{ env.PROVIDER }} - run: firebase deploy --only hosting
あとは、利用するサービスアカウントに適切なロールを割り当てればOK
OIDC認証時に設定される環境変数
google-github-actions/auth@v1
で、
以下の環境変数を設定してくれるらしい。
CLOUDSDK_AUTH_CREDENTIAL_FILE_OVERRIDE GOOGLE_APPLICATION_CREDENTIALS GOOGLE_GHA_CREDS_PATH CLOUDSDK_CORE_PROJECT CLOUDSDK_PROJECT GCLOUD_PROJECT GCP_PROJECT GOOGLE_CLOUD_PROJECT
Firebase CLIの認証
- User Token(--token)は非推奨
Service Accountの場合は、
GOOGLE_APPLICATION_CREDENTIALS
環境変数を使う
以上!! OIDCって便利(´ω`)