本文档介绍了自动化规则,即可以执行的操作 自动部署您的交付流水线例如,您可以将 以便提升到特定目标 在适当的情况下自动管理。
您只能使用 Cloud Deploy 内置的自动化规则。 本文档中列出了可用的自动化规则。
可用的自动化规则
Cloud Deploy 中提供了以下自动化规则:
规则 | 说明 |
---|---|
promoteReleaseRule
|
成功后自动将某个版本提升到指定的目标
上一个目标进行部署。 |
advanceRolloutRule
|
自动将发布从指定的
阶段推进到下一阶段。 |
配置自动化规则
每条自动化规则的配置取决于具体的规则。这个 部分介绍了所有规则共有的配置,以及 来配置每条可用规则
以下部分介绍了特定于各项自动化的配置 规则。请参阅自动部署 自动化操作本身的配置
配置 promoteReleaseRule
项自动化规则
promoteReleaseRule
规则会在版本成功发布后推广到
目标。例如,如果您有三个目标,则可以将此规则设置为:
版本成功部署到第一个目标后,
自动提升到第二个目标
配置 promoteReleaseRule
自动化操作时,您可以指定
要提升到 (destinationTargetId
) 或 @next
的定位条件。发布新版本时
在 Automation
定义中指定的目标内成功完成,
版本随后会提升到 destinationTargetId
中指定的目标,
(时间间隔为 wait
时)。
您还可以使用以下代码将版本提升到预期目标中的特定阶段
destinationPhase
属性。
rules:
- promoteReleaseRule:
name: "[RULE_NAME]"
wait: [WAIT_TIME]
destinationTargetId: "[TO_TARGET]"
destinationPhase: "[TO_PHASE]"
其中:
[RULE_NAME]
您可以为此规则指定的任何名称。此名称在 自动化技术资源
[WAIT_TIME]
是版本准备就绪后等待的时间(以分钟为单位) 促销前。例如
1m
。m
是必需的。默认值为
0
或无等待时间。最大值为20160m
(或 14 个) 天)。[TO_TARGET]
是
targetId
要提升到的目标。此属性也可以是
@next
,用于将版本自动提升到下一个 此目标位于selector.targets
属性中指定的目标之后, 自动化配置。如果您 省略destinationTargetId
中的值。[TO_PHASE]
是要提升到的阶段的阶段名称,例如
canary-25
或stable
。此属性是可选的;如果省略,则此发布 提升到目标的第一阶段。
配置 advanceRolloutRule
自动化规则
成功后,advanceRolloutRule
会自动推进您的发布
即用户完成了一个阶段之后才进入下一阶段这条自动化规则适用于
Canary 部署例如,如果您有一项 Canary 部署策略
阶段为 25%
、50%
和 stable
,则可以
配置一条自动化规则,自动将阶段推进到 stable
在 50%
阶段结束后。
配置 advanceRolloutRule
自动化操作时,您需要确定阶段,
从 sourcePhase
推进。
rules:
- advanceRolloutRule:
id: "[RULE]"
sourcePhases: ["[START_PHASE]", "[START_PHASE]"...]
wait: [WAIT_TIME]
其中:
[RULE]
您可以为此规则指定的任何名称。此名称在 交付流水线
[WAIT_TIME]
此时间是指在发布后等待多少分钟 准备就绪。例如
1m
。m
是必需的。默认值为
0
或无等待时间。最大值为20160m
(或 14 个) 天)。["[START_PHASE]", "[START_PHASE]"...]
是指自动推进发布的一个或多个阶段。 也就是说,当所列任何阶段成功完成时, 自动从该阶段推进到下一阶段。
阶段名称区分大小写。此外,这些阶段名称是可选的;如果你 省略
sourcePhases
,则发布中的所有阶段都会自动推进。
后续步骤
详细了解部署自动化: Cloud Deploy。