本文档简要介绍了部署自动化。
您可以将 Cloud Deploy 配置为自动执行与版本相关的 与发布相关的任务。这些任务包括 发行促销活动 和阶段推进。
详细了解用于 Cloud Deploy 中的发布自动化。
详细了解如何设置规则 明确了这些自动化操作的运作方式。
可以自动执行的操作
在 Cloud Deploy 中,您可以自动执行以下版本并 部署活动:
推广版本
您可以配置 Cloud Deploy 以提升您的版本 自动应用。例如,如果你的
dev
、staging
和prod
,则可以配置自动化操作, ,以便将发布升级到prod
,而无需进一步人工干预 一旦成功部署到staging
中,即会启用交互。推进发布
您可以将 Cloud Deploy 配置为从一个 阶段至 阶段推进 仅适用于使用 Canary 部署策略。
自动化是如何运作的?
每项自动化操作都与其所使用的交付流水线相关联。禁止的行为 在多个交付流水线之间共享自动化操作。
以下是配置和执行 自动化:
您 配置自动化操作
此自动化操作与一个交付流水线相关联。
您可以使用
gcloud deploy apply
注册该自动化操作。这会创建 自动化资源。
已成功发布到至少一个目标。
在配置了这项自动化操作的目标中...
如果自动化操作为
promoteReleaseRule
:执行会等待发布成功进入源目标。 来源目标是为自动化操作配置的
selector.targets
。 不在AutomationRule
中。如果已配置
wait
时间,执行也会等待该时间。此版本会自动提升到流水线中的下一个目标 或达到特定目标时, (如已指定)。
如果自动化操作为
advanceRolloutRule
且目标使用 Canary 部署策略:执行会等待被标识的 源代码阶段 如果有的话
sourcePhase
属性为可选属性;如果没有源阶段,则为可选属性 系统会自动推进发布过程中的每个阶段。通过 当源阶段IN_PROGRESS
,适用wait
次优惠。如果已配置
wait
时间,执行也会等待该时间。在自动执行 Canary 部署时,您可以使用此等待时间 指定每个 Canary 阶段的持续时间
发布会自动从该源代码阶段推进到下一阶段 部署阶段
如果有其他源阶段,也会受到相同的处理,包括 相同的等待时间(如果适用)。
Automation 资源
有两个 Cloud Deploy 资源专门用于 自动化:
自动化
Automation
是交付流水线的子资源,包含 以下信息:- 指向使用自动化技术的一个或多个目标的指针
- 用于控制自动化操作及其执行方式的规则
有关 Automation 资源的配置,请参阅此文档 自动化操作资源简介。
当您针对包含自动化操作的文件运行
gcloud deploy apply
时 配置 (kind: Automation
) 时,Cloud Deploy 会创建一个 自动化资源 用于将交付流水线和一个或多个目标与一个或多个 自动化规则。自动化运行
AutomationRun
是自动化操作的一个实例。它是指向 相应的 Automation 资源,以及 以及其他元数据。自动化操作会在自动化操作被触发时创建。
Automation 规则
自动化规则定义了可对交付流水线执行的操作 以及有关如何执行自动化操作的详细信息。
所需的 Identity and Access Management 角色和权限
除了拥有运行任何 Cloud Deploy 所需的权限外
并执行自动化任务(例如推进
必须拥有多项权限才能执行
对 Automation
和 AutomationRun
资源执行某些操作:
clouddeploy.automations.create
clouddeploy.automations.delete
clouddeploy.automations.get
clouddeploy.automations.list
clouddeploy.automations.update
clouddeploy.automationRuns.cancel
clouddeploy.automationRuns.get
clouddeploy.automationRuns.list
除了这些权限之外,每条自动化规则还可能需要进一步 执行自动化操作的权限。请参阅 配置自动化规则 获取每条自动化规则所需的具体权限
请参阅 IAM 角色和权限 更多信息,包括 角色具备这些权限。
创建自动化操作
您可以创建自动化操作,包括使用
可用的自动化规则
方法是配置自动化操作,然后使用
gcloud deploy apply
请参阅下一部分(配置自动化),并 配置自动化规则。
配置自动化
请参阅
配置文件架构
详细了解如何在 Pod 内
Automation
资源。
Automation 规则配置
除了这项自动化配置外,您还可以指定 自动化规则。配置不同 可用规则
请参阅 使用自动化规则为每个项的说明 可用规则的一部分
暂停自动化操作
您可以暂停现有资源,而不将其删除。这对于 在不影响交付流水线的情况下测试自动化。当您 暂停自动化操作,自动化操作不会运行 平台日志。
在
Automation
配置、 将suspended
属性设置为true
。针对该配置文件运行
gcloud deploy apply
。平台日志 自动化操作也会实例化,即使其已暂停。您可以使用它 在不影响交付流水线的情况下调试自动化。