我有一个脚本触发了一次构建。该构建后面是一个发布流水线。在我的脚本中,我可以找出发布的URL,但我不知道如何让脚本判断何时发布流水线已完成。
假设没有交互式批准。仍然存在以下问题:
- 发布状态似乎处于“活动”状态,无论所有阶段是否已收敛到某些最终状态。
- 阶段可以是“未启动”,“进行中”,“已拒绝”,“已取消”或“已成功”。
我认为可以通过分析所有阶段的状态并考虑流水线的拓扑结构来弄清楚事情的进展,但这似乎太复杂了。
在脚本中等待某个发布进入最终状态(不可能再更改)是否可能?
EDIT 1
我可以编写轮询循环。这就是我用来确定构建何时结束的方法。但对于发布,我遇到了停止条件的问题 - 我不知道它是什么。
EDIT 2
考虑以下流水线:
+---> A
/ \
Start + -[Promoted only if (*) is true]-> C ---> D
\ /
+---> B
(无需手动审批) 现在假设构建不满足条件 (*),因此发布在运行 A 和 B 后就停止了,而不是 C。环境中的状态如下:
- A = 成功或被拒绝
- B = 成功或被拒绝
- C = 未开始
- D = 未开始
那么,在这种情况下停止等待循环的停止条件是什么?是否可以在不发现发布流程的拓扑结构的情况下完成?