使用 Cloud Build 将容器化应用部署到 Cloud Run
本页面介绍如何使用 Cloud Build 将容器化应用部署到 Cloud Run。
如需遵循有关此任务的分步指导,请直接在 Cloud Shell Editor 中点击操作演示:
准备工作
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Build, Cloud Run, Artifact Registry, and Compute Engine APIs.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Build, Cloud Run, Artifact Registry, and Compute Engine APIs.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
授予权限
为了将映像部署到 Cloud Run,Cloud Build 需要 Cloud Run Admin 和 IAM Service Account User 权限。
打开一个终端窗口。
设置环境变量以存储您的项目 ID 和项目编号:
PROJECT_ID=$(gcloud config list --format='value(core.project)') PROJECT_NUMBER=$(gcloud projects describe $PROJECT_ID --format='value(projectNumber)')
将 Cloud Run Admin 角色授予 Cloud Build 服务账号:
gcloud projects add-iam-policy-binding $PROJECT_ID \ --member=serviceAccount:$PROJECT_NUMBER@cloudbuild.gserviceaccount.com \ --role=roles/run.admin
将 IAM Service Account User 角色授予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
部署预建映像
您可以配置 Cloud Build,以将存储在 Artifact Registry 中的预建映像部署到 Cloud Run。
如需部署预建映像,请执行以下操作:
打开终端窗口(如果尚未打开)。
创建名为
helloworld
的新目录并导航至该目录:mkdir helloworld cd helloworld
创建名为
cloudbuild.yaml
的文件,其中包含以下内容。此文件就是 Cloud Build 配置文件。它包含 Cloud Build 在名为cloudrunservice
的 Cloud Run 服务上部署名为us-docker.pkg.dev/cloudrun/container/hello
的映像的说明。运行以下命令来部署映像:
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 服务页面。
在表中,找到名为 cloudrunservice 的行,然后点击 cloudrunservice。
此时将显示 cloudrunservice 的服务详情页面。
要运行在 cloudrunservice 上部署的映像,请点击以下网址: