如何在Jenkins / Hudson中定义作业并行运行?

时间:2012-05-15 19:24:16

标签: continuous-integration hudson jenkins parallel-processing jenkins-plugins

问题:鉴于Jenkins / Hudson中的一些工作,每个工作都分配了一个我们可以调用的数字。此数字的范围从1到n,多个作业可以具有相同的级别。现在,我想定义那些(否则是独立的)作业,使得1级必须在2级之前构建,我希望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再次触发相同的作业(在我修复它之后),并且正常继续通过插件定义的作业,有什么办法吗?

1 个答案:

答案 0 :(得分:9)

Jenkins有一个相对较新的插件,名为Build Flow插件。此插件提供了一个新的Job类型,您可以使用DSL定义此类作业依赖项结构。我想,您也可以自动执行此操作。该插件功能非常强大,您可以找到更多信息here。我不知道,如果这个插件也可以在Hudson中运行,因为它需要Jenkins 1.424作为最低版本,而最新的Hudson版本也改变了它的配置xml。