Cloud Build を使用して、コンテナ化されたアプリケーションを Cloud Run にデプロイする
このページでは、Cloud Build を使用してコンテナ化されたアプリケーションを Cloud Run にデプロイする方法について説明します。
このタスクを Cloud Shell エディタで直接行う際のガイダンスについては、「ガイドを表示」をクリックしてください。
始める前に
- Google Cloud アカウントにログインします。Google Cloud を初めて使用する場合は、アカウントを作成して、実際のシナリオでの Google プロダクトのパフォーマンスを評価してください。新規のお客様には、ワークロードの実行、テスト、デプロイができる無料クレジット $300 分を差し上げます。
-
Google Cloud Console の [プロジェクト セレクタ] ページで、Google Cloud プロジェクトを選択または作成します。
-
Cloud Build, Cloud Run, Artifact Registry, and Compute Engine API を有効にします。
- Google Cloud CLI をインストールします。
-
gcloud CLI を初期化するには:
gcloud init
-
Google Cloud Console の [プロジェクト セレクタ] ページで、Google Cloud プロジェクトを選択または作成します。
-
Cloud Build, Cloud Run, Artifact Registry, and Compute Engine API を有効にします。
- Google Cloud CLI をインストールします。
-
gcloud CLI を初期化するには:
gcloud init
権限を付与する
Cloud Build で Cloud Run にイメージをデプロイする前に、Cloud Run 管理者と IAM サービス アカウント ユーザーの権限を付与する必要があります。
ターミナル ウィンドウを開きます。
プロジェクト ID とプロジェクト番号を格納する環境変数を設定します。
PROJECT_ID=$(gcloud config list --format='value(core.project)') PROJECT_NUMBER=$(gcloud projects describe $PROJECT_ID --format='value(projectNumber)')
Cloud Run 管理者役割を Cloud Build サービス アカウントに付与します。
gcloud projects add-iam-policy-binding $PROJECT_ID \ --member=serviceAccount:$PROJECT_NUMBER@cloudbuild.gserviceaccount.com \ --role=roles/run.admin
IAM サービス アカウント ユーザー ロールを Cloud Run ランタイム サービス アカウントの Cloud Build サービス アカウントに付与します。
gcloud iam service-accounts add-iam-policy-binding \ $PROJECT_NUMBER-compute@developer.gserviceaccount.com \ --member=serviceAccount:$PROJECT_NUMBER@cloudbuild.gserviceaccount.com \ --role=roles/iam.serviceAccountUser
ビルド済みのイメージをデプロイする
Artifact Registry に格納されているビルド済みのイメージを Cloud Run にデプロイするように Cloud Build を構成できます。
ビルド済みのイメージをデプロイするには:
ターミナル ウィンドウを開きます(まだ開いていない場合)。
helloworld
という名前で新しいディレクトリを作成し、そのディレクトリに移動します。mkdir helloworld cd helloworld
次の内容のファイルを
cloudbuild.yaml
という名前で作成します。これは Cloud Build 構成ファイルです。Cloud Build が、us-docker.pkg.dev/cloudrun/container/hello
という名前のイメージをcloudrunservice
という名前の Cloud Run サービスにデプロイする手順が含まれています。次のコマンドを実行して、イメージをデプロイします。
gcloud builds submit --region=us-west2 --config cloudbuild.yaml
ビルドが完了すると、次のような出力が表示されます。
DONE
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
ID CREATE_TIME DURATION SOURCE IMAGES STATUS
784653b2-f00e-4c4b-9f5f-96a5f115bef4 2020-01-23T14:53:13+00:00 23S gs://cloudrunqs-project_cloudbuild/source/1579791193.217726-ea20e1c787fb4784b19fb1273d032df2.tgz - SUCCESS
これで、イメージ hello
が Cloud Run にデプロイされました。
デプロイされたイメージを実行する
Google Cloud コンソールで [Cloud Run] ページを開きます。
プロジェクトを選択し、[開く] をクリックします。
[Cloud Run Services] ページが表示されます。
テーブルで、cloudrunserviceという名前の行を見つけて、[cloudrunservice] をクリックします。
cloudrunservice の [サービスの詳細] ページが表示されます。
cloudrunservice にデプロイしたイメージを実行するには、次の URL をクリックします。