在 Google Cloud 控制台中创建流水线和发布
本页介绍了如何使用 Google Cloud 控制台创建 Cloud Deploy 交付流水线,然后为该流水线创建一个版本。
在本快速入门中,您将执行以下操作:
准备工作
- 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 Deploy, Cloud Build, GKE, Artifact Registry, Cloud Run, and Cloud Storage 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 Deploy, Cloud Build, GKE, Artifact Registry, Cloud Run, and Cloud Storage APIs.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
如果您已安装 CLI,请确保您运行的是 版本:
gcloud components update
创建运行时环境
如果要部署到 Cloud Run,则可以跳过此命令。
对于 GKE,使用默认设置创建两个集群 quickstart-cluster-for-console-staging
和 quickstart-cluster-for-console-prod
。集群的Kubernetes API 端点必须是
可通过公共互联网访问网络。GKE 集群
可以默认从外部访问
gcloud container clusters create-auto quickstart-cluster-for-console-staging \
--project=PROJECT_ID \
--region=us-central1 && \
gcloud container clusters create-auto quickstart-cluster-for-console-prod \
--project=PROJECT_ID \
--region=us-central1
创建交付流水线和两个目标
您可以使用 Cloud Deploy 创建交付流水线和目标 基于一个或多个 YAML 文件中指定的配置。不过,您也可以使用 Google Cloud 控制台创建提交流水线。
在本部分中,您将使用 Google Cloud 控制台创建交付流水线 和两个目标。使用 Google Cloud 控制台时,您无需创建 任何 YAML 文件Cloud Deploy 为您创建 skaffold.yaml 和清单文件
在 Google Cloud 控制台中,前往 Cloud Deploy 主页。
点击创建
系统随即会显示创建交付流水线表单。
在流水线名称字段中,将默认文本替换为
in-console-quickstart-pipeline
。(可选)为此交付流水线输入说明。
在区域下拉列表中,选择
us-central1
。选择您的运行时。
如果您要部署到 GKE,请选择 Google Kubernetes 引擎。否则,请选择 Cloud Run。
创建目标:
GKE
在新目标下的目标名称字段中,将默认文本替换为
console-staging
。从 Kubernetes Engine 集群下拉列表中,选择
quickstart-cluster-for-console-staging
。点击完成。
点击添加目标。
将目标名称的默认文本替换为
console-prod
。从
quickstart-cluster-for-console-prod
Kubernetes Engine 集群下拉列表。选择需要批准才能发布。
在本快速入门中,我们要求对第二个目标用户进行审批 而不是在第一个目标上
点击创建以创建此交付流水线。
Cloud Run
在新建目标下的目标名称字段中,将 带有
console-staging
的默认文字。从区域下拉菜单中,选择
us-central1
。点击完成。
点击添加目标。
将目标名称的默认文本替换为
console-prod
。为此,请勾选需要批准才能发布复选框 目标。
在本快速入门中,我们要求对第二个目标用户进行审批 而不是在第一个目标上
点击创建以创建此交付流水线。
现在,您已经有了包含两个目标的交付流水线,可以创建版本了。
系统随即会显示流水线页面,其中显示了两个目标,但没有发布。
创建版本
现在,您已经有了一条交付流水线,有两个目标,分别指向两个 GKE 集群或两个 Cloud Run 服务 可以创建一个版本来将应用部署到第一个目标。
目前没有显示新交付的交付流水线页面 流水线“
in-console-quickstart-pipeline
”,立即导航到那里。系统会显示流水线直观显示效果,但没有发布作业。
点击创建版本按钮。
系统随即会显示创建版本对话框。大多数字段均已预先填充。保留这些默认值。
您可以点击查看清单按钮,查看任一目标的自动生成的清单,也可以点击查看 Skaffold 文件,查看生成的
skaffold.yaml
。您也可以对其进行修改,但在本快速入门中,请将其保持不变。(可选)在说明字段中为此版本添加说明。
点击创建以开始发布。
显示了发布详情页面,其中包含发布至第一个目标的过程。 您可以查看此次发布的进度将需要几分钟时间 。发布可能需要几秒钟的时间才能开始。
第一次发布完成后,点击交付流水线名称以前往 “交付流水线”页面
系统会显示流水线直观显示效果,其中第一个目标平台已完成发布。
点击升级以开始向下一个目标发布。
系统随即会显示提升对话框。
保留默认值,根据需要添加 Rollout description(发布说明),然后 点击升级。
由于我们在创建 第二个目标,此促销正在等待批准。
在交付流水线直观显示中,点击审核。
系统会显示审批页面。
再次点击审核,然后在审批对话框中点击批准。
系统开始为第二个目标发布发布。您可以再次点击交付流水线名称,在流水线可视化图表中查看进度。
第二次发布完成后,应用将在第二次发布时部署 目标,并且您的交付流水线已完成。
清理
为避免因本页中使用的资源导致您的 Google Cloud 账号产生费用,请按照以下步骤操作。
删除 GKE 集群或 Cloud Run 服务:
GKE
gcloud container clusters delete quickstart-cluster-for-console-staging --region=us-central1 --project=PROJECT_ID \ && gcloud container clusters delete quickstart-cluster-for-console-prod --region=us-central1 --project=PROJECT_ID
Cloud Run
gcloud run services delete in-console-quickstart-pipeline-target-1 --region=us-central1 --project=PROJECT_ID \ && gcloud run services delete in-console-quickstart-pipeline-target-2 --region=us-central1 --project=PROJECT_ID
在交付流水线页面中,点击删除以删除交付作业。 流水线、版本和发布。
在提供的字段中输入流水线名称,然后点击确认 完成删除资源的操作。
删除两个目标:
gcloud deploy targets delete console-staging --region=us-central1 && \ gcloud deploy targets delete console-prod --region=us-central1
删除 Cloud Deploy 创建的 Cloud Storage 存储分区。
一个以
_clouddeploy
结尾,另一个是[region].deploy-artifacts.[project].appspot.com
。
恭喜,您已经完成快速入门!