📝
GitHubからCloud Functionsに継続的にデプロイする
概要
GitHubを使ってCloud Functionsにデプロイする方法は以下のリンクに記載されています。
ここでは手順を一つずつ確認していきたいと思います。
処理の流れ
Cloud Functions APIの有効化や、Cloud BuildのサービスアカウントにCloud Functionsデベロッパーのロールを付与したあと、Cloud Buildの設定ページを開きます。
「トリガーの作成」をクリックします。
トリガーの設定を行います。トリガーの名前や、リージョン、を設定します。イベントは「ブランチにpushする」にします。
ソースリポジトリを選択すると、これまで利用したリポジトリとともに、「新しいリポジトリに接続」が表示されますので、必要に応じて選択します。
「新しいリポジトリに接続」を選択すると、GitHubの認証とリポジトリの選択ができるようになります。
構成はcloudbuild.yaml
を選択します。cloudfunctions.yaml
には、以下のように記述します。
steps:
- name: 'gcr.io/google.com/cloudsdktool/cloud-sdk'
args:
- gcloud
- functions
- deploy
- FUNCTION_NAME # 関数名
- --region=FUNCTION_REGION # リージョン
- --source=.
- --trigger-http # トリガー
- --runtime=RUNTIME # ランタイム 例えばpython312
ここで、以下を記述すると、GitHubにプッシュされると同時にCloud Functionsにデプロイされるようになります。
- gcloud
- functions
- deploy
他には、以下のようなものを指定したりします。
- --gen2 # 第2世代のランタイムを使用する場合
- --entry-point=hoge # エントリーポイントを指定する場合
- --timeout=60s # タイムアウトを指定する場合
- --memory=256MB # メモリを指定する場合
- --project=$PROJECT_ID # プロジェクトIDを指定する場合
- --env-vars-file=.env.yaml # 環墩変数を.env.yamlで指定する場合
環境変数を指定する方法は、こちらを参照してください。
例えば、以下のように記述します。
FOO: bar
BAZ: boo
最後に「作成」をクリックすると、トリガーが作成されます。これで、GitHubにプッシュされるとCloud Functionsにデプロイされるようになります。
Discussion