避免Jenkins在nexus中多次上传发布工件

时间:2013-04-24 08:34:59

标签: maven jenkins continuous-integration

我有一个分成多个maven文物的网页项目。

让我们说:

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

因此,D依赖于B和C. B依赖于A。

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

A可以是版本3-SNAPSHOT,而B仍然是版本5,依赖于版本2。

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

所以,如果我推入一个新版本的3-SNAPSHOT的A,那么就建立一个3-SNAPSHOT jar并推入nexus。但是,由于Jenkins的依赖性,会触发B版本2(发布版本)的新版本。构建本身没问题,但是对nexus的部署失败了,因为我不允许重新部署发布工件。

我该如何避免这种情况?当artefact具有发布版本并且此版本已经存在于nexus中时,不会尝试上传到nexus。

我正在使用Jenkins 1.480和maven 3.0.4。

1 个答案:

答案 0 :(得分:0)

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

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