本文发布于Cylon的收藏册,转载请著名原文链接~


Manual Judgment Stage

“Manual Judgment Stage” 是 Spinnaker Pipeline 中的一种阶段 (“Stage”) 类型,该类型可以作为流水线的门户,作为带外 (Out-of-Bound) 流水线检查,等待手动检查,并且判断结果会终止或继续流水线的执行。

创建一个基于Manual Judgment的流水线

创建一个流水线,添加一个新的 Stage,选择 “Manual Judgment”

image-20240727214647330

图:Manual Judgment创建页面

Jugement Inputs 部分添加对应的选项,选项可以带入变量 $judgment 中

image-20240727214823060

图:Manual Judgment 在执行时 Jugement Inputs Option 的展示

或者是不添加任何选项,那么这个时候就会只有 Stop 和 Continue 两个按钮

image-20240727214900751

图:当 Manual Judgment 没有配置Jugement Inputs Option 的展示

如果添加了选项,可以根据 “选项” 来判断执行的分支

判断可以使用每个阶段内的条件表达式 ”Conditional on Expression“,或者 Check Precondition 类型的阶段

image-20240727215003287

图:根据 “Stage Conditional on Expression” 来定义的选项

“Check Precondition” 是 Spinnaker 流水线中的一个阶段,它可以先前条件并且判断是否继续,这里主要检查该流水线之前所有的流水线你定义要检查的内容,并继续执行接下分支或者阶段

image-20240727215159515

图:“Check Precondition” 的三种类型

image-20240727215059019

图:“Check Precondition” 选择添加表达式的页面

这里选择使用 表达式 (Expression) 来判断前置条件,例如我判断前置 Stage 的选择是否为 “aaaa”

${#judgment("Ask for next step") == 'aaa'}

接下来根据正常的流水线来创建即可,例如要 Deploy K8S 资源

image-20240727215534084

图:“Deploy” 类型的阶段配置页面

Reference

[1] Changing pipeline behavior based on selected judgment

本文发布于Cylon的收藏册,转载请著名原文链接~

链接:https://www.oomkill.com/2024/07/spinnaker-branching-judgment/

版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」 许可协议进行许可。