向詹金斯的另一份工作发送战争

时间:2016-07-22 10:35:34

标签: jenkins

我在jenkins实例中建立了两个工作:

  1. Gradle作业构建war任务并生成可以部署的war文件。
  2. Docker作业从存储库构建Docker镜像。
  3. 两者都运转良好。但是,第二个取决于第一个。因此,Docker作业需要使用Gradle作业生成的最后一个war文件。

    我怎么能这样做?

2 个答案:

答案 0 :(得分:0)

您可以使用/usr/local/Cellar插件触发带参数的子作业。您必须执行以下操作才能解决上述问题:

  1. 创建父作业,该作业将包含您提到的两个子作业。
  2. 然后触发第一个作业并归档parameterized job trigger文件的工件。
  3. 然后将第一个作业的最后一个触发器构建号传递给第二个作业并启动该作业。使用war插件从第一个作业中复制Copy artifacts,其中包含在开始之前传递的特定内部版本号。
  4. 这将解决您的问题!!!

答案 1 :(得分:0)

为第一个作业(Gradle作业)使用post build任务,只需将war文件转到Docker作业的工作区。然后配置Docker作业,以便在构建之前不清理工作区。对于post build操作,请在构建后选择delete workspace。这将确保您只在Gradle作业工作区中拥有最新的war文件。此外,如果你还没有使用它,你应该使用post build触发器。

祝你好运!