如何触发jenkins下游作业只有两个上游作业成功执行

时间:2016-09-25 04:13:17

标签: jenkins jenkins-plugins reverse jenkins-job-builder upstream-branch

我创建作业A ,查找上游作业(作业B和作业C)成功结果,并触发shell脚本验证条件。

成功执行作业B 作业C 作业A 执行下游作业(作业D和作业E)

我使用JJB在作业A 中使用了reverse(用于配置上游作业)和downstream-ext(用于配置下游作业)插件。

我面临的问题是:成功执行作业B而不等待作业C结果。作业A应该等待作业B和作业C,然后根据结果执行。

您能否帮我解决一下如何配置此方案。

2 个答案:

答案 0 :(得分:0)

您可以尝试使用Join插件,这是文档:
https://wiki.jenkins-ci.org/display/JENKINS/Join+Plugin

答案 1 :(得分:0)

如果您将A作业转换为构建流https://wiki.jenkins.io/display/JENKINS/Build+Flow+Plugin?focusedCommentId=60917290,或者甚至更好的将其转换为管道2.0 https://jenkins.io/doc/book/pipeline/

,这会更容易

(Groovy)A中的代码将类似于:

if (build('scenario-B-Job') && build('scenario-C-Job')) {
    build('scenario-E-Job')
    build('scenario-D-Job')

} 如果周围有足够的从属设备,您还可以并行化(B,C,然后是D,E)以缩短总体执行时间。