使用 Cloud Build 将容器化应用部署到 Cloud Run
本页面介绍如何使用 Cloud Build 将容器化应用部署到 Cloud Run。
如需直接在 Cloud Shell Editor 中按照此任务的分步指南来执行操作,请点击操作演示:
准备工作
- 登录您的 Google Cloud 帐号。如果您是 Google Cloud 新手,请创建一个帐号来评估我们的产品在实际场景中的表现。新客户还可获享 $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 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 上部署的映像,请点击以下网址: