我想要完成的是从 develop
分支 check out 代码,将其 merge 到 master
分支,构建 app.war
,运行测试如果测试成功推送到 master
分支。
测试应该在需要 app.war
的单独作业中运行。
我目前的设置如下:
- Job
Main
从develop
check out , merge 到master
并构建app.war
- 作业
Main
在构建后步骤 中触发作业Test
(Test
需要app.war
以前构建的) - 如果
Test
成功,Main
在构建后操作中推送到master
分支
我尝试使用Copy Artifact Plugin,但问题是使用它时,我只能在触发Test< 时在Post build action 中存档工件
在构建后步骤。
如何将 app.war
传递给 Test
作业?是否可以使用Copy Artifact Plugin?
最佳答案
1。复制工件
您可以围绕它放置一个包装作业,并通过使用在其他项目上触发/调用构建,将构建作业和测试作业称为构建步骤。由于构建现在封装在它自己的作业中,您可以存档其工件并将它们复制到 Test
作业。
2。共享工作空间
另一种方法是在构建和测试之间共享一个工作区。
3。将文件作为参数传递
将文件传递给下游作业的一种巧妙方法是,在 Parameterized Trigger Plugin 的帮助下将其作为参数传递.
只需选择参数工厂,即可将文件推送到下游作业的工作区对于每个匹配的文件,在构建步骤中调用一个构建在其他项目上触发/调用构建。 您可以在此处指定目标文件(允许使用通配符)及其在子工作区中应获得的名称。
注意:您的下游作业不需要需要设置此构建已参数化选项,文件将以任一方式复制。编辑:这可能不再有效,请参阅评论。
关于java - 如何将文件传递给阻止上游作业的下游作业?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36157080/