6

问题:给定 Jenkins/Hudson 中的许多工作,每个工作都分配了一个我们可以称之为级别的数字。这个数字的范围从 1 到 n,并且多个作业可以具有相同的级别。现在,我想定义要运行的那些(否则独立的)作业,以便级别 1 必须在级别 2 之前构建,并且我希望 Jenkins/Hudson 在同一级别并行启动多个作业,如果作业所在的从属执行器被定义是免费的。

这个级别数是什么无关紧要,它只是为了解释问题而定义的。

重要提示:我希望能够自动生成这些作业,因为我知道哪些作业依赖于哪些作业,哪些可以并行运行,所以如果解决方案是 config.xml 中的一些配置,很高兴听到这个消息,这样我就可以编写脚本自动生成这些配置文件。

X 级的作业可以而且应该尽可能多地并行运行。

谢谢你的时间。

编辑:还有一个我想知道的,以防有一些优雅的解决方案:假设作业 X 是由 Build Flow Plugin 触发的,并且它失败了。如果我希望 Build Flow Plugin 再次触发相同的作业(在我修复它之后),并正常继续通过插件定义的作业,有什么办法吗?

4

1 回答 1

9

Jenkins 有一个相对较新的插件,称为 Build Flow 插件。该插件提供了一种新的 Job 类型,您可以在其中使用 DSL 定义此类作业依赖结构。我认为,您也可以自动执行此操作。该插件非常强大,您可以在此处找到更多信息。我不知道,这个插件是否也可以在 Hudson 中工作,因为它需要 Jenkins 1.424 作为最低版本,并且最新的 Hudson 版本也更改了它的配置 xml。

于 2012-05-15T20:23:18.990 回答