2016-05-31 72 views
1

有谁知道将单个Jenkins作业拆分成多个部分并同时并行运行的方法吗?拆分Jenkins作业同时运行

举例来说,如果我有一个运行其需要30分钟的测试工作,是有办法,我可以打破这种作业分成在同一时间,但有三种不同的情况下

由于在运行三个10分钟运行提前。

+0

将任务分解为3个作业并在3个不同的实例上运行它们? – SilentMonk

+1

可能的重复 - http://stackoverflow.com/questions/37540591/parallel-test-execution-jenkins – SilentMonk

回答

0

创建新的工作,称之为f.e. 测试。您应该根据根作业的类型选择作业类型。 >先进 -

如果你有一个Maven的工作类型,你可以在构建设置工作区目录。自由式工作类型有这个选项直接在项目 - >高级

为所有作业设置相同的工作目录。根作业将被编译,所有其他作业使用相同的工作目录来使用编译后的输出。

对于测试作业,将测试执行添加为构建步骤,这里区别应执行的测试。

编辑您的根作业,并在那里删除长时间运行测试的延期。你现在可以打电话给那里三个工作。但是你需要Parameterized Trigger Plugin

这种方式的缺点是,您需要足够的jenkins执行程序来处理所有测试作业。

+0

感谢@CSchulz,在构建maven项目的高级工作中我还注意到了一个复选框“并行构建模块” 。这会有用吗?干杯。 – colin

+0

我不认为它会对你有所帮助,因为你必须在自己的模块中分开测试。 – CSchulz

0

如果您使用詹金斯1.x中,我建议尝试多椎插件 - 我已经成功地用它来一个作业分成父母的工作,再加上多个子作业:

https://wiki.jenkins-ci.org/display/JENKINS/Multijob+Plugin

如果您使用詹金斯2.x中,然后尝试管道功能:)这使得并行运行的任务非常简单:

https://github.com/jenkinsci/pipeline-plugin/blob/master/TUTORIAL.md#creating-multiple-threads

如果你愿意,我相信你也可以使用管道在詹金斯1 。 x通过插件的方式。尽管如此,我还没有研究过。

相关问题