创建交付流水线和目标

使用集合让一切井井有条 根据您的偏好保存内容并对其进行分类。

本页面介绍了如何创建交付流水线和目标,以描述 Google Cloud Deploy 将在何处以及如何部署您的应用。如需了解用于交付流水线和目标的 YAML 文件结构,请参阅配置文件架构

交付流水线和目标简介

您的交付流水线描述了部署目标进展。您可以在交付流水线所在的同一个文件或一个或多个单独的文件中定义这些目标。

创建交付流水线和目标定义文件后,对每个文件运行 gcloud deploy apply,以将其注册为 Google Cloud Deploy 资源。

定义交付流水线和目标

此处对交付流水线和目标配置文件的结构进行了说明。

您可以随时调用此文件。按照惯例,包含目标定义的交付流水线配置命名为 clouddeploy.yaml,引用在一个或多个单独的文件中定义的目标的付流水线配置命名为 delivery-pipeline.yaml

目标可以指向 GKE 集群或 Anthos 集群

注册交付流水线和目标

如需向 Google Cloud Deploy 注册交付流水线,请为每个单独的定义文件运行 gcloud deploy apply 一次。也就是说,如果您在三个文件中定义了三个目标,则需要运行该命令四次:一次用于交付流水线,一次用于每个目标。

以下命令将注册交付流水线及其在同一文件中定义的目标。

gcloud deploy apply --file=PIPELINE_CONFIG \
                    --region=LOCATION \
                    --project=PROJECT

您现在有了一个交付流水线,可用于管理版本部署以及在同一项目和区域中的任何交付流水线可以使用的目标资源。

单文件示例

此示例中的命令将注册一个交付流水线和一些目标,它们在同一文件中定义:

gcloud deploy apply --file=clouddeploy.yaml --region=us-central1

使用单独文件的示例

对于此示例,在三个单独的文件中定义了三个目标,因此运行四个命令:

gcloud deploy apply --file=delivery-pipeline.yaml --region=us-central1 && \
gcloud deploy apply --file=target_dev.yaml --region=us-central1 && \
gcloud deploy apply --file=target_staging.yaml --region=us-central1 && \
gcloud deploy apply --file=target_prod.yaml --region=us-central1

除非设置了默认值(使用 gcloud config set deploy/region [REGION]),否则必须使用 --region 标志。交付流水线和流水线引用的所有目标的区域必须相同。

使用 Terraform 创建交付流水线和目标

您还可以使用 Google Cloud Terraform 提供程序来创建交付流水线目标资源。

修改现有流水线和目标

您可以稍后修改任何交付流水线或目标配置,并运行 gcloud deploy apply 以更新流水线或目标资源。但是,这些更改不会影响任何现有版本,因为它们由原始交付流水线管理

需要手动批准部署

如需要求手动批准给定目标,请在目标定义中添加以下属性:

requireApproval: true

默认值为 false。如果您在交付流水线配置中省略此属性,或者没有为它提供值,则部署到此目标不需要批准。(但是,尝试提升到目标的调用方仍然需要 clouddeploy.rollouts.create IAM 权限。)

您甚至可以要求手动批准第一个目标。使用 CLI 创建版本时,对于第一个目标,系统会自动创建 rollout。如果需要批准,Google Cloud Deploy 会创建 rollout,但处于待处理发布状态,直到获得批准为止。

后续步骤