如果父成功完成并且它有更改(更改推送到scm),我该如何触发参数化构建?
这是一个场景:我有3个版本:A,B和C. 如果A被A调用或者它有变化,B将被构建。 只有在B成功完成并且由于scm更改而构建B而不是因为它是由A触发时才应该构建C
由于
答案 0 :(得分:10)
构建后操作→在其他项目上触发参数化构建:
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"}
请参阅Parameterized Build,Parameterized Trigger Plugin和Run Condition Plugin.
上面给出的设置会产生以下结果:
根据讨论,以下是:
防止在1点触发C:
创建B的上游项目,轮询SCM并触发B
在B中配置以下内容:
源代码管理→◉无
构建触发器
构建→添加构建步骤→条件步骤(单个):
C