毎回やって毎回引っかかってる気がするのでメモ。本当はTerraformとか使った方が良いんだろうけど。 とりあえず最低限必要なもの、
前提
TypeScript で GCF を作って cloudbuild.yaml を読ませてデプロイする
プロジェクトの作成
steps: - name: node entrypoint: npm args: - install - name: node entrypoint: npm args: - run - build - name: gcr.io/google.com/cloudsdktool/cloud-sdk entrypoint: gcloud args: - functions - deploy - ... - --entry-point=... - --runtime=nodejs12 - --trigger-...=... - --project=$PROJECT_ID
APIの有効化
サービスアカウントに権限付与
IAM で@cloudbuild.gserviceaccount.com
に以下の権限を付与
- Cloud Functions 開発者
- サービスアカウントユーザー
Cloud Build にリポジトリを接続
Cloud Build の設定画面でトリガーを作成。