如何将文件传递给阻止上游作业的下游作业?

时间:2016-03-22 14:25:42

标签: java git jenkins continuous-integration jenkins-plugins

我想要完成的是检查来自develop分支的代码,将其合并到master分支,构建app.war,运行测试,如果测试成功,则推送到master分支。

测试应该在需要app.war的单独工作中运行。

我目前的设置如下:

  1. 作业Maindevelop签出,将其合并到master并构建app.war
  2. 作业Main发布后步骤中触发作业TestTest需要先前构建的app.war
  3. 如果Test成功,Main推送到发布构建操作中的master分支
  4. 我尝试使用复制工件插件,但问题是,在我触发Test时,我只能在发布构建操作中存档工件在帖子构建步骤

    如何将app.war传递给Test工作?是否可以使用复制工件插件

1 个答案:

答案 0 :(得分:6)

1。复制工件

您可以在其周围放置一个包装器作业,并通过在其他项目上使用触发器/调用构建将Build作业和Test作业调用为构建步骤。由于构建现在已经封装在自己的工作中,因此您可以存档其工件并将其复制到Test作业。

2。共享工作区

另一种方法是在构建和测试之间共享一个工作区。

3。将文件作为参数

传递

将文件传递给下游作业的一种巧妙方法是,在Parameterized Trigger Plugin的帮助下将其作为参数传递。

只需选择参数factory 即可将文件推送到下游作业的工作区。对于每个匹配的文件,在构建步骤中调用一个构建 在其他构建上触发/调用构建项目。 在那里指定目标文件(允许使用通配符)以及它应该在子工作空间中获得的名称。

enter image description here

注意:您的下游作业需要选项此版本已参数化设置,文件将以任何方式复制。编辑:这可能不再起作用,请参阅评论。