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

标签 java git jenkins continuous-integration jenkins-plugins

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

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

我目前的设置如下:

  1. Job Maindevelop check out , merge 到 master 并构建 app.war
  2. 作业Main构建后步骤 中触发作业Test(Test 需要app.war 以前构建的)
  3. 如果 Test 成功,Main构建后操作中推送到 master 分支

我尝试使用Copy Artifact Plugin,但问题是使用它时,我只能在触发Test< 时在Post build action 中存档工件构建后步骤

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

最佳答案

1。复制工件

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

2。共享工作空间

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

3。将文件作为参数传递

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

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

enter image description here

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

关于java - 如何将文件传递给阻止上游作业的下游作业?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36157080/

相关文章:

java - 在此实例中保存数据的结构(Hashmap/ArrayList 等)?

git - Git 是否将添加/删除视为重命名?

Jenkins:未找到名为 MSBuild 的工具

docker - 可以通过桥 IP 连接到 docker 容器,但不能通过 pod 容器内的 0.0.0.0 连接

java - 从 Java 填写 Google 表单

java - 强制继承类定义某些方法

java - android firebase 上传文件中的位置不存在对象

Git CMD : Getting HTTP Basic: Access denied issue when trying to clone the project from GitLab

Git 预接收钩子(Hook)来检查配置

java - Jenkins Jelly 更新文本框