阶段类型
通用类型
编辑部署流程时可以为阶段选择阶段类型。
预置条件检查
在执行下一步之前检查前置条件,例如检查集群规模或某个阶段的状态,前置条件支持部署流程表达式。
自定义变量
添加自定义变量(key/value
键值对),在此阶段的定义的变量可以被下游阶段引用。
人工确认
在执行下一步之前等待人工确认。可以在人工确认阶段增加指引说明帮助确认人进行人工确认,或者添加输入选项让用户选择。这些输入选项可以决定下游阶段的执行行为。例如,可以使用 预置条件检查
来确保只有满足特定的条件时才执行相应的阶段。
部署流程
将其他部署流程作为子部署流程执行。您可以执行当前应用的部署流程,也可以执行具有访问权限的其他应用的部署流程。在阶段执行结束前可以选择是否等待子部署流程的执行结果。如果选择等待执行结果,此阶段的状态即为子部署流程的最终执行状态;否则,只要子部署流程开始执行此阶段的状态就会被标记为“成功”。
配置选项说明:
字段 | 是否必填 | 说明 |
---|---|---|
应用 | 是 | 列出所有具体访问权限的应用 |
部署流程 | 是 | 列出应用下所有的部署流程 |
是否等待执行结果 | 否 | 如果选择等待执行结果,此阶段的状态即为子部署流程的最终执行状态;否则,只要子部署流程开始执行此阶段的状态就会被标记为“成功”。 |
等待
等待一定的时间段后继续执行。在部署流程执行过程中可以手动减少等待时间或直接跳过等待。等待时间支持表达式。
保护部署流程
指定确认人后,待部署流程运行到此阶段后,由确认人选择执行选项。
Webhook
支持调用外部系统 API 作为部署流程的阶段。
利用指定 Webhook 的目标 URL 和 HTTP 方法,支持自定义 header
和 JSON 格式的 payload。默认情况下,如果 Webhook 调用返回 2XX
或 3XX
表示阶段执行成功,返回 4XX
或 5XX
表示执行失败。Webhook 的 URL、payload 调用的最终状态都会展示在部署流程执行详情中。
用户可以在 URL 字段和 payload 中使用部署流程表达式。当阶段执行完成后,阶段上下文的 Webhook
对象包含了 payload 内容,可以在后续的部署流程表达式中引用 payload。例如以下表达式可以获取 Webhook 执行的最终状态:
${#stage("My Webhook Stage")["context"]["webhook"]["statusCode"]}
绑定部署流程制品
此阶段支持选择并绑定其他应用中部署流程所产生的制品版本号。
Kubernetes 类型
Bake (Manifest)
使用 Helm 或 kustomize 模板渲染器渲染资源清单,详细说明请查看此文档。
部署(Manifest)
Deploy (Manifest) 阶段是部署 Kubernetes(Manifest) 的阶段,详细说明请查看此文档。
Run Job(Manifset)
此阶段专门针对 batchs/v1/Job 类型资源的运行。此阶段与部署(Manifest)阶段的差异是此阶段可以抓取 Job 的控制台输出作为制品,详细说明请查看此文档。
Patch(Manifest)
此阶段使用 kubectl patch 命令把 Manifest 差异 patch 到集群上,详细说明请参考此文档。
过滤(Manifest)
此阶段可以使用白名单或黑名单的方式过滤上游 Bake (Manifest) 阶段生成的 Manifest 清单。
过滤后,后续阶段可以使用在过滤阶段产生的 Manifest 制品进行部署。
回滚(Manifest)
此阶段将能够将把 Manifest 的 reversion 回滚到上一个版本,但如果该对象是新部署的,此阶段并不能回滚该对象。
扩缩容 (Manifest)
此阶段会调整 k8s workload 的 replicas 属性。
主机部署
部署(主机组)包含 5 个配置项,详细说明请参考此文档。
在阅读中是否遇到以下问题?*
您希望我们如何改进?*
如果您希望得到回复,请留下您的邮箱地址。