Jenkins-在其他项目上触发参数化构建
仅当父级成功完成并且有更改(更改推送到scm)时,如何触发参数化生成 下面是一个场景:我有3个构建:a、B和C。 如果B被A调用或有更改,则将生成B。Jenkins-在其他项目上触发参数化构建,jenkins,jenkins-plugins,jenkins-workflow,Jenkins,Jenkins Plugins,Jenkins Workflow,仅当父级成功完成并且有更改(更改推送到scm)时,如何触发参数化生成 下面是一个场景:我有3个构建:a、B和C。 如果B被A调用或有更改,则将生成B。 只有在B成功完成并且B是由于scm更改而不是因为A触发而生成的情况下,才应生成C 谢谢添加到: 构建后操作→ 在其他项目上触发参数化生成: 要构建的项目:B 生成完成时触发(始终触发) 添加参数→ 预定义参数:A\u已构建=是 添加到B: 元数据→ [✔] 这个构建是参数化的→ 添加参数→ 字符串参数: 名称:A\u已建成 默认值:NO
只有在B成功完成并且B是由于scm更改而不是因为A触发而生成的情况下,才应生成C 谢谢添加到: 构建后操作→ 在其他项目上触发参数化生成:
- 要构建的项目:
B
- 生成完成时触发(始终触发)
- 添加参数→ 预定义参数:
A\u已构建=是
- 名称:
A\u已建成
- 默认值:
NO
- 要构建的项目:
C
- 生成时触发:稳定[默认值]
- 添加参数→ 预定义参数:
A\u已构建=${A\u已构建}
- 名称:
A\u已建成
- 默认值:
NO
- 跑?:不是
- !:正则表达式匹配
- 表达式:
^YES$
- 标签:
${ENV,var=“A\u已经构建”}
- 表达式:
- 建筑商:……根据您的需要
看到了吗 更新1 上述设置会导致以下情况:
- 为B创建一个上游项目,该项目轮询SCM并触发B
- 在B中配置以下内容:
源代码管理→ ◉ 没有
构建触发器
- []轮询SCM
构建→ 添加构建步骤→ 条件步骤(单个):- 运行?:执行shell/执行Windows批处理命令
- 命令:…SCM签出命令;在没有SCM更改的情况下,将退出状态/错误级别设置为大于0
- 生成器:在其他项目上触发/调用生成
- 构建触发器
- 要构建的项目:
C
- 要构建的项目:
- 构建触发器