一尘不染

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

jenkins

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

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

我当前的设置如下:

  1. Job Main从中检出develop,将其合并master并构建app.war
  2. 作业MainTest在“ 后期制作”步骤中 触发作业(Test需要app.war预先创建)
  3. 如果Test成功,则在 发布构建操作中Main推送到master分支 __

我尝试使用 Copy Artifact Plugin, 但是问题在于,在 Post构建步骤中 触发时,我只能在 Post构建动作中
存档工件。Test __

如何通过app.warTest工作?可以 复制Artifact插件 吗?


阅读 190

收藏
2020-07-25

共1个答案

一尘不染

1.复制工件

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

2.共享工作区

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

3.传递文件作为参数

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

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

在此处输入图片说明

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

2020-07-25