やりたいこと:
Python Flask Hello WorldをGithub ActionsでCICDパイプライン経由でCloud Runにデプロイする。
この記事ではCloud Runのプロジェクト作成とGithub actionsに渡すキーの作成まで行います。
事前準備
CLIのインストール
https://cloud.google.com/sdk/docs/install?hl=ja
Pythonのインストール
Win storeからインストール
CLIのインストール
インストーラが最後まで行けば、CMDが起動してログインを求められる
CLIから新規プロジェクトを作成
認証完了後そのまま作業可能
set PROJECT_ID=XXX
echo Project ID: %PROJECT_ID%
gcloud config set project %PROJECT_ID%
gcloud services enable run.googleapis.com cloudbuild.googleapis.com artifactregistry.googleapis.com
エラー「type: googleapis.com/billing-enabled」が発生した場合、プロジェクトに請求先を紐付ける必要があります。
プロジェクトに課金アカウントをリンク
1️⃣ 左メニュー:課金 → アカウント管理
2️⃣ 対象の課金アカウントを選択
3️⃣ 「アカウント管理」→ 「プロジェクトを管理」へ移動
4️⃣ さっき作成した%PROJECT_ID%を選択し、課金アカウントを関連付ける
:: サービスアカウント作成
gcloud iam service-accounts create github-actions-deployer --display-name="GitHub Actions Deployer"
:: 権限を付与
gcloud projects add-iam-policy-binding %PROJECT_ID% --member="serviceAccount:github-actions-deployer@%PROJECT_ID%.iam.gserviceaccount.com" --role="roles/run.admin"
gcloud projects add-iam-policy-binding %PROJECT_ID% --member="serviceAccount:github-actions-deployer@%PROJECT_ID%.iam.gserviceaccount.com" --role="roles/iam.serviceAccountUser"
gcloud projects add-iam-policy-binding %PROJECT_ID% --member="serviceAccount:github-actions-deployer@%PROJECT_ID%.iam.gserviceaccount.com" --role="roles/storage.admin"
サービスアカウントキーを作成
このキーをgithub actionsで使用できます
キーはカレントディレクトリにjson形式で出力されています。
gcloud iam service-accounts keys create key.json --iam-account=github-actions-deployer@%PROJECT_ID%.iam.gserviceaccount.com
いったんここまで
次回は、github actionsにシークレットキーを追加します(key.json)