宣传您的版本并管理审批事宜

本页面介绍如何将现有 Cloud Deploy 版本提升到交付流水线进度中的下一个目标。

准备工作

本页面假定您已经创建版本

提升版本

将版本部署到交付流水线中定义的目标时,您可以将其提升到下一个目标:

gcloud

gcloud deploy releases promote --release=RELEASE_NAME \
                               --delivery-pipeline=PIPELINE_NAME \
                               --region=REGION

其中:

RELEASE_NAME 是您要提升的版本的名称。

PIPELINE_NAME 是用于管理此版本部署的交付流水线的名称。

REGION 是创建发布版本的区域的名称,例如 us-central1。这是必填项。

如需详细了解 gcloud deploy releases promote 命令,请参阅 Google Cloud SDK 参考文档。

控制台

  1. 打开“交付流水线”页面

  2. 点击交付流水线列表中显示的流水线。

    交付流水线详情页面显示交付流水线进展的图形表示。

    Google Cloud 控制台中的交付流水线可视化

  3. 在交付流水线直观显示中的第一个目标上,点击提升

    此时将显示提升版本对话框。它会显示您要提升到的目标的详细信息。

  4. 点击提升

如果交付流水线或目标自版本创建以来发生了更改,则 Cloud Deploy 将返回一条消息,指示可能存在不匹配,并提示您确认提升。您可以对该提示响应 n,并检查流水线版本之间的差异,然后再继续。如果您选择仍然提升,则将根据创建版本时定义的交付流水线的部署版本。如需详细了解流水线不匹配,请参阅每个版本的流水线实例

Cloud Deploy 会为版本创建 rollout 到目标目标,并将该版本排队等待部署。部署版本后后,交付流水线直观显示会显示以下事实:

Google Cloud 控制台中的交付流水线可视化

管理交付流水线的审批

您可以要求任何目标获得批准,也可以批准或拒绝发布到该目标的版本。

您可以使用 Pub/Sub 和 Cloud Deploy API 将您的工作流管理系统(例如 ServiceNow)或其他系统与 Cloud Deploy 集成,以编程方式管理审批。

需要批准

如需要求批准任何目标,请在目标配置中将 requireApproval 设置为 true

     apiVersion: deploy.cloud.google.com/v1
     kind: Target
     metadata:
      name:
     description:
     requireApproval: true

如需了解更多详情,请参阅交付流水线配置

当发布处于待批准状态时,订阅 clouddeploy-approvals Pub/Sub 主题的用户或系统会收到通知,然后可以批准或拒绝发布。

使用并行部署时,您可以将多目标配置为需要批准。如果提升到目标的发布被拒,控制器发布会失败,状态为 APPROVAL_REJECTED,并且不会创建子发布。

批准或拒绝发布

在将任何版本部署到目标之前,每个目标都可以需要批准。当您升级到需要批准的目标时,Cloud Deploy 会向 clouddeploy-approvals 主题发布一条 Pub/Sub 消息。

具有 roles/clouddeploy.approver 角色的任何用户或服务帐号都可以批准将 Cloud Deploy 发布到需要批准的目标。

您的集成工作流管理系统已收到使用服务通知的“需要审批”的通知,可以使用 Cloud Deploy API 批准或拒绝发布。

手动批准或拒绝

控制台

  1. 在 Google Cloud 控制台中,导航到 Cloud Deploy 交付流水线页面,以查看可用交付流水线列表。

    打开“交付流水线”页面

    Google Cloud 控制台中会显示交付流水线列表。未显示已配置但未向 Cloud Deployservice 注册的交付流水线。

  2. 点击交付流水线的名称。

    显示流水线直观显示效果。如果批准处于待处理状态,并且您具有 roles/clouddeploy.approver 角色或等效权限,则直观显示包含审核链接。

    交付流水线直观显示,正在等待批准

  3. 点击审核

    此时会显示待批准的发布列表。

    此流水线的发布,正在等待批准

  4. 点击审核

    此时会显示“批准发布”屏幕。

    正在等待批准的发布的详细信息

    清单差异标签页显示从当前部署的版本(如有)到您现在正要批准(或拒绝)的版本的已渲染清单的所有更改。

  5. 点击批准拒绝

    如果您批准,您的应用将部署到目标中。如果您拒绝,则不会部署应用,并且除非重新提升,否则无法获得批准。

gcloud

具有 roles/clouddeploy.approver 角色的用户可以手动批准或拒绝发布。如需批准,请执行以下操作:

gcloud deploy rollouts approve rollout-name --delivery-pipeline=pipeline-name \
                                                                   --region=region \
                                                                   --release=release-name

如需拒绝,请执行以下操作:

gcloud deploy rollouts reject rollout-name --delivery-pipeline=pipeline-name \
                                                                  --region=region \
                                                                  --release=release-name