6

问题:鉴于Jenkins/Hudson有许多工作,每个工作分配一个号码,我们可以调用级别。该数字范围从1到n,并且多个作业可以具有相同的级别。现在,我想定义这些(否则独立的)作业运行,以便级别1必须在级别2之前构建,我希望Jenkins/Hudson在同一级别同时启动多个作业,如果从属执行程序作业被定义为免费的。如何在Jenkins/Hudson中定义并行运行的作业?

这个级别的数字并不重要,它只是用来解释问题。

我想自动生成这些作业的可能性,因为我知道哪些作业取决于哪些作业可以并行运行,所以如果解决方案是config.xml中的某些配置,它将是很高兴听到这个消息,这样我可以脚本自动生成这些配置文件。

Jobs at level X can and should run in parallel, as many as possible.

感谢您的时间。

编辑:还有一个我想知道的情况下,如果有一个优雅的解决方案:假设工作X由Build Flow Plugin触发,并且失败。如果我希望Build Flow Plugin能够再次触发相同的作业(修复后),还有什么办法可以正常执行通过插件定义的作业吗?

回答

9

Jenkins有一个相对较新的插件,名为Build Flow plugin。这个插件提供了一个新的Job类型,您可以在其中使用DSL定义这样的作业依赖关系结构。我想,你也可以自动做到这一点。该插件非常强大,你可以找到更多的信息here。我不知道,如果这个插件也可以在哈德森工作,因为它需要Jenkins 1.424作为最低版本,而最新的Hudson版本也改变了它的配置xml。

+0

没什么可说的,这是一个奇妙的解决方案。我刚刚进行了测试,配置起来很简单,自动生成也不那么容易。谢谢。 – Moni

+0

最后有人做到了。谢谢(你的)信息!! –

+0

还有一个我想知道的情况,如果有一些优雅的解决方案:假设作业X由Build Flow Plugin触发,并且失败。如果我希望Build Flow Plugin能够再次触发相同的作业(修复后),还有什么办法可以正常执行通过插件定义的作业吗? – Moni