如何"模块化"我的詹金斯工作

时间:2015-08-18 14:09:35

标签: jenkins

我正试图将我的大型Monlithic Jenkins工作分解成更小,可重复使用的部分。

通过保存和读取工件来实现这一目标的标准方法对我来说是个问题。我们的工作空间非常大,几乎需要半个小时才能将工件从一个作业保存并复制到另一个作业。如果我将我的大工作分成四个较小的工作,那么我的构建将花费两个小时。这简直是​​不可接受的。

似乎应该有办法做到以下其中一种:

当JobA结束时,让JobB立即运行,在同一节点上,与JobA在同一工作区中运行。

JobA触发JobB,它立即运行并在同一个节点和工作区上运行,然后返回JobA,从那一点开始继续。

但这些似乎都不可能在詹金斯。

我错过了什么?我怎么看错了?

2 个答案:

答案 0 :(得分:0)

您可以在项目中定义多个构建步骤。你可以使用'模板'插件允许使用来自另一个项目的构建规则,从而为您提供一些模块化。

另一种方法可能是使用'参数化触发器'插件并在后期构建阶段调用相同的工作'具有不同的参数 - 可能是与“条件构建步骤”一起分析的参数。插件,根据其值运行不同的构建步骤。

答案 1 :(得分:0)

只要您在同一节点上运行,您就可以从任何其他作业访问任何作业的工作区文件夹。所以你可以在JobB里面对JobA的工件做些什么。您只需将JobA的工作空间文件夹定义为构建脚本的工作目录。当你主要使用批处理/ sh脚本来完成工作时,这会容易得多。 每次通过JobB中的构建触发器成功构建JobA时,您都可以自动触发JobB。