资源:Automation
Cloud Deploy API 中的 Automation
资源。
Automation
可以自动执行交付流水线中手动驱动的操作,包括目标之间的版本提升、发布修复以及发布部署策略推进。Automation 旨在减少持续交付流程中的人工干预。
JSON 表示法 |
---|
{ "name": string, "uid": string, "description": string, "createTime": string, "updateTime": string, "annotations": { string: string, ... }, "labels": { string: string, ... }, "etag": string, "suspended": boolean, "serviceAccount": string, "selector": { object ( |
字段 | |
---|---|
name |
仅限输出。 |
uid |
仅限输出。 |
description |
可选。 |
createTime |
仅限输出。自动化操作的创建时间。 时间戳采用 RFC3339 世界协调时间(UTC,即“祖鲁时”)格式,精确到纳秒,最多九个小数位。示例: |
updateTime |
仅限输出。自动化操作的更新时间。 时间戳采用 RFC3339 世界协调时间(UTC,即“祖鲁时”)格式,精确到纳秒,最多九个小数位。示例: |
annotations |
可选。用户注释。这些属性只能由用户设置和使用,Cloud Deploy 不能进行设置和使用。注解必须满足以下限制条件:
如需了解详情,请参阅 https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/#syntax-and-character-set。 包含一系列 |
labels |
可选。标签是用户和 Cloud Deploy 可以设置和使用的属性。标签必须满足以下限制条件:
另外,键和值不得超过 63 个字符。 包含一系列 |
etag |
可选。 |
suspended |
可选。暂停后,系统会停止执行自动化操作。 |
serviceAccount |
必需。用于创建 Cloud Deploy 发布和发布资源的用户管理的 IAM 服务帐号的电子邮件地址。 |
selector |
必需。要应用自动化操作的选定资源。 |
rules[] |
必需。与 Automation 资源相关联的自动化规则列表。必须至少有一个规则,并且每个交付流水线最多只能有 250 条规则。注意:此处规则的顺序与执行顺序不同。 |
AutomationResourceSelector
AutomationResourceSelector 用于选择要应用自动化操作的资源。
JSON 表示法 |
---|
{
"targets": [
{
object ( |
字段 | |
---|---|
targets[] |
包含有关目标的属性。 |
TargetAttribute
包含选择目标的条件。
JSON 表示法 |
---|
{ "id": string, "labels": { string: string, ... } } |
字段 | |
---|---|
id |
|
labels |
目标标签。 包含一系列 |
AutomationRule
AutomationRule
定义自动化 activity。
JSON 表示法 |
---|
{ // Union field |
字段 | |
---|---|
联合字段 rule 。Automation 规则的配置。rule 只能是下列其中一项: |
|
promoteReleaseRule |
可选。 |
advanceRolloutRule |
可选。 |
repairRolloutRule |
可选。 |
PromoteReleaseRule
PromoteRelease
规则会自动将版本从当前目标提升到指定目标。
JSON 表示法 |
---|
{
"id": string,
"wait": string,
"destinationTargetId": string,
"condition": {
object ( |
字段 | |
---|---|
id |
必需。规则的 ID。此 ID 在此规则所属的 |
wait |
可选。版本在升级到下一个目标之前需要暂停的时长。 该时长以秒为单位,最多包含九个小数位,以“ |
destinationTargetId |
可选。此
|
condition |
仅限输出。有关 Automation 规则状态的信息。 |
destinationPhase |
可选。此操作创建的发布的开始阶段。默认为第一阶段。 |
AutomationRuleCondition
AutomationRuleCondition
包含与 Automation
规则相关的条件。
JSON 表示法 |
---|
{
"targetsPresentCondition": {
object ( |
字段 | |
---|---|
targetsPresentCondition |
可选。有关规则中枚举目标的详细信息。 |
AdvanceRolloutRule
rollouts.advance
自动规则会自动将成功的发布推进到下一阶段。
JSON 表示法 |
---|
{
"id": string,
"sourcePhases": [
string
],
"wait": string,
"condition": {
object ( |
字段 | |
---|---|
id |
必需。规则的 ID。此 ID 在此规则所属的 |
sourcePhases[] |
可选。仅当阶段名称与列表中的任意一项匹配后继续。此值必须由小写字母、数字和连字符组成,以字母开头并以字母或数字结尾,长度上限为 63 个字符。也就是说,它必须与以下正则表达式匹配: |
wait |
可选。发布完成后的等待时间。 该时长以秒为单位,最多包含九个小数位,以“ |
condition |
仅限输出。有关 Automation 规则状态的信息。 |
RepairRolloutRule
RepairRolloutRule
自动化规则会自动修复失败的Rollout
。
JSON 表示法 |
---|
{ "id": string, "sourcePhases": [ string ], "jobs": [ string ], "repairModes": [ { object ( |
字段 | |
---|---|
id |
必需。规则的 ID。此 ID 在此规则所属的 |
sourcePhases[] |
可选。在这些阶段中,作业在失败时会被自动修复。仅当阶段名称与列表中的任意一项匹配后才继续;如果未指定,则适用于所有阶段。此值必须由小写字母、数字和连字符组成,以字母开头并以字母或数字结尾,长度上限为 63 个字符。也就是说,它必须与以下正则表达式匹配: |
jobs[] |
可选。要修复的作业。仅当作业名称与列表中的任意一项匹配后才继续;如果未指定或为空,则适用于所有作业。包含该作业的阶段必须与 |
repairModes[] |
必需。定义失败作业的自动修复操作类型。 |
condition |
仅限输出。有关“Automation”规则状态的信息。 |
RepairMode
修复操作的配置。
JSON 表示法 |
---|
{ // Union field |
字段 | |
---|---|
联合字段 mode 。要执行的修复操作。mode 只能是下列其中一项: |
|
retry |
可选。重试失败的作业。 |
rollback |
可选。回滚 |
重试
重试失败的作业。
JSON 表示法 |
---|
{
"attempts": string,
"wait": string,
"backoffMode": enum ( |
字段 | |
---|---|
attempts |
必需。重试总次数。如果设置为 0,则会跳过重试;最小值为 1,最大值为 10。 |
wait |
可选。首次重试的等待时间。默认值为 0,最大值为 14 天。 该时长以秒为单位,最多包含九个小数位,以“ |
backoffMode |
可选。等待时间增加的方式。默认值为线性。如果 |
回滚
回滚 Rollout
。
JSON 表示法 |
---|
{ "destinationPhase": string } |
字段 | |
---|---|
destinationPhase |
可选。 |
方法 |
|
---|---|
|
在给定的项目和位置创建新的 Automation。 |
|
删除单个 Automation 操作资源。 |
|
获取单个 Automation 的详细信息。 |
|
列出指定项目和位置中的自动化操作。 |
|
更新单个 Automation 资源的参数。 |