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

mat*_*ska 4 java git continuous-integration jenkins jenkins-plugins

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

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

我目前的设置如下:

  1. 作业Main签出develop,合并master并构建app.war
  2. 工作Main触发的工作Test后生成步骤(Test需要app.war事先建立)
  3. 如果Test成功,则在Post构建操作中Main推送master分支

我尝试使用复制工件插件但问题是,使用它,我只能在Post构建操作中存档工件,而我TestPost构建步骤中触发.

如何通过app.warTest工作?是否可以使用Copy Artifact Plugin

Dom*_*art 7

1.复制工件

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

2.共享工作区

另一种方法是在构建和测试之间共享工作空间.

3.将文件作为参数传递

将文件传递给下游作业的一种巧妙方法是,在参数化触发器插件的帮助下将其作为参数传递.

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

在此输入图像描述

注意:您下游工作并没有需要有选择这个build参数集,该文件将被复制两种方式.编辑:这可能不再起作用,请参阅注释.