提升版本和管理审批

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

准备工作

本页面假定您已创建版本

提升版本

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

gcloud

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

其中:

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

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

REGION 是相应版本所属区域的名称 已创建,例如 us-central1。这是必填项。

查看 Google Cloud SDK 请参阅 gcloud deploy releases promote 命令

控制台

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

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

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

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

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

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

  4. 点击升级

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

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

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

管理交付流水线的批准

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

通过集成工作流程,能以程序化方式管理审批 管理系统(例如 ServiceNow)或其他系统, 使用 Pub/Sub 和 Cloud Deploy 的 Cloud Deploy API。

需要批准

如需要求批准任何目标,请在目标配置中将 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 Deploy 服务注册的交付流水线。

  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