关于jenkins中的Build Blocker和Multijob插件集成的问题

时间:2015-05-08 02:01:03

标签: jenkins jenkins-plugins

我在jenkins工作中使用构建阻止程序和MultiJob插件来编排管道。

这是我想要实现的一小部分。

工作中的依赖关系 JobA - >工作B - (加入插件) - >工作C和工作D - > JobE(加入插件结束)

另一份工作 作业A1(构建拦截器插件包含作业E的作业B列表)

现在我在多工作阶段创建了2个阶段,Suite 1和Suite 2,在套件1中我只运行JOb A(然后将调用作业B等等)而在Suite 2中我正在调用作业A1

问题:

jobA完成后,multijob插件认为阶段已完成,因此它将A1作业放入队列,但由于作业B也在此时运行,因此A1保留在队列中(由于buildblocker)。 因此,那时的队列包含作业B和作业A1,但是一旦作业B完成并且在能够将作业C和作业D放入队列之前,作业A1就开始执行。

这个问题有什么解决方案吗?上面的例子只是我想要实现的一小部分,我知道有很多方法可以用简单的方式实现,但是我需要编排一个更大的管道,其中几个作业以复杂的方式相互依赖,所以需要一个针对上述问题的解决方案。

谢谢, Manish Joshi

1 个答案:

答案 0 :(得分:0)

通过结合使用Build Flow和MultiJob插件,我能够实现这一结果。

我创建了一个构建流程作业,并将其命名为Suite1,其中包含 建设( “jobA1”) 建设( “jobB1”) 平行( {版本( “jobC1”)}, {建立( “jobD1”)} ) 建设( “jobE1”) 在另一个工作Suite2我正在运行工作A2,然后在multijob插件中分阶段运行Suite1和Suite2

因此,现在工作A2正在等待,直到jobE1完成,我想要实现。

谢谢, 和Manish