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

How to pass file to downstream job which blocks upstream job?

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

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

我目前的设置如下:

  1. 作业 Maindevelop 签出,将其合并到 master 并构建 app.war
  2. 作业 MainPost 构建步骤 中触发作业 TestTest 需要 app.war 之前构建)
  3. 如果 Test 成功,Main 将推送到 Post 构建操作中的 master 分支

我尝试使用Copy Artifact Plugin,但问题是使用它,我只能在Post构建操作 当我在 Post 构建步骤 .

中触发 Test

如何将 app.war 传递给 Test 作业?是否可以使用 Copy Artifact Plugin?

1。复制工件

您可以围绕它放置一个包装作业,并通过使用 Trigger/call 在其他项目 上构建,将构建作业和测试作业称为构建步骤。由于构建现在封装在自己的作业中,您可以存档其工件并将它们复制到 Test 作业。

2。共享工作空间

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

3。将文件作为参数传递

将文件传递给下游作业的一种巧妙方法是,在 Parameterized Trigger Plugin.

的帮助下将其作为参数传递

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

注意:您的下游作业 不需要 需要选项 This build is parameterized set,文件将以任何一种方式复制。 编辑:这可能不再有效,请参阅评论。