仅当父级成功完成并且有更改(更改推送到 scm)时,我如何才能触发参数化构建?
这是一个场景:我有 3 个构建:A、B 和 C。如果 B 被 A 调用或它有更改,则将构建 B。只有当 B 成功完成并且 B 是因为 scm 更改而不是因为它是由 A 触发而构建时,才应该构建 C
谢谢
仅当父级成功完成并且有更改(更改推送到 scm)时,我如何才能触发参数化构建?
这是一个场景:我有 3 个构建:A、B 和 C。如果 B 被 A 调用或它有更改,则将构建 B。只有当 B 成功完成并且 B 是因为 scm 更改而不是因为它是由 A 触发而构建时,才应该构建 C
谢谢
构建后操作→在其他项目上触发参数化构建:
B
A_HAS_BEEN_BUILT=YES
元数据→ [✔] 此构建已参数化 →添加参数→字符串参数:
A_HAS_BEEN_BUILT
NO
构建后操作→在其他项目上触发参数化构建:
C
A_HAS_BEEN_BUILT=${A_HAS_BEEN_BUILT}
元数据→ [✔] 此构建已参数化_ →添加参数→字符串参数:
A_HAS_BEEN_BUILT
NO
构建→添加构建步骤→条件步骤(单个):
^YES$
${ENV,var="A_HAS_BEEN_BUILT"}
上面给出的设置会导致以下内容:
根据讨论,目的如下:
为了防止 C 在 1 处被触发:
为 B 创建一个轮询 SCM 并触发 B 的上游项目
在 B 中配置以下内容:
源代码管理→ ◉ 无
构建触发器
构建→添加构建步骤→条件步骤(单个):
C