【问题标题】:Avoid multiple upload of release artefact in nexus by Jenkins避免Jenkins在nexus中多次上传发布工件
【发布时间】:2013-04-24 08:34:59
【问题描述】:

我有一个 web 项目拆分成多个 maven artefacts。

假设是:

  • 一个罐子
  • B,一个罐子
  • C,一个罐子
  • D,一场战争

所以,D 依赖于 B 和 C。B 依赖于 A。

这些模块版本并不总是同步的。

A 可以在版本 3-SNAPSHOT 上,而 B 仍然在版本 5 中,并且依赖于 A 版本 2。

我将 jenkins 配置为在构建 A 时级联构建 B,在构建 B 或 C 时级联构建 D。 当在 git 存储库中检测到更改时,这些模块也会重新构建。 Artefacts 通过构建后操作自动部署在 nexus 存储库中。

所以,如果我在 git 中推送 A 的新版本 3-SNAPSHOT,则会构建一个 3-SNAPSHOT jar 并将其推送到 nexus 中。但是,由于 Jenkins 的依赖,触发了 B 版本 2(release 版本)的新构建。构建本身运行正常,但部署到 nexus 失败,因为我不允许重新部署发布工件。

我怎样才能避免这种情况?当工件具有发布版本并且此版本已存在于 nexus 中时,不尝试上传到 nexus 是可以接受的。

我正在使用 Jenkins 1.480 和 maven 3.0.4。

【问题讨论】:

    标签: maven jenkins continuous-integration


    【解决方案1】:

    您可以使用https://wiki.jenkins-ci.org/display/JENKINS/Parameterized+Trigger+Plugin 触发参数化构建并将参数添加到作业B。

    条件构建插件也可能有帮助 https://wiki.jenkins-ci.org/display/JENKINS/Conditional+BuildStep+Plugin

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-12-07
      • 2019-07-06
      • 1970-01-01
      • 2019-03-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多