jenkins 中关于构建拦截器和多作业插件集成的问题

Issue on Build Blocker and Multijob plugin Integration in jenkins

我在我的 jenkins 作业中使用构建拦截器和 MultiJob 插件来编排管道。

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

工作中的依赖 JobA --> Job B -(Join Plugin) --> Job C and Job D --> JobE (Join Plugin End)

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

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

问题:

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

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

谢谢, 马尼什·乔希

我通过结合使用 Build Flow 和 MultiJob 插件获得了这个结果。

我创建了一个构建流程作业并将其命名为 Suite1,其中包含 建造("jobA1") 建造("jobB1") 平行线( {构建("jobC1")}, {构建("jobD1")} ) 建造("jobE1") 在另一份工作 Suite2 中,我是 运行 工作 A2,然后 运行 Suite1 和 Suite2 在 multijob plugin

阶段

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

谢谢, 马尼什