Jenkins(Hudson) - 管理并行构建之间的依赖关系

Mar*_*ten 5 parallel-processing ivy hudson-plugins jenkins jenkins-plugins

使用Jenkins或Hudson我想用fork和join点创建一个构建管道,例如:

     job A
    /      \
 job B    job C
   |        |
 job D      |
    \      /
     job E
Run Code Online (Sandbox Code Playgroud)

我想创建这样的任意串并行图,并且只要有一个从器件,Jenkins就可以自由地并行执行B/D和C.

B 插件执行后,Join插件立即加入.Build Pipeline Plugin不支持fork/join点.不确定是否可以使用Throttle Concurrent Builds插件(或不推荐使用的Locks&Latches插件); 如果是这样我无法弄清楚如何.一种解决方案可能是使用Apache Ivy指定构建依赖项并使用Ivy插件.但是,我的作业都是Makefile C/C++/shell脚本作业,我没有使用Ivy来验证是否可行.

在Jenkins中指定并行作业及其依赖项的最佳方法是什么?

mik*_*ong 7

有一个Build Flow插件可以满足这个需求.它定义了一个用于指定并行作业的DSL.您的示例可能是这样写的:

build("job A")
parallel (
    {
        build("job B")
        build("job D")
    },
    {
        build("job C")
    }
)
build("job E")
Run Code Online (Sandbox Code Playgroud)

我刚刚发现它,这正是我想要的.