gpt4 book ai didi

maven - 避免 Jenkins 在 nexus 中多次上传发布 Artifact

转载 作者:行者123 更新时间:2023-12-02 05:01:03 25 4
gpt4 key购买 nike

我有一个分为多个 Maven Artifact 的 Web 项目。

假设是:

  • 一个,一个 jar
  • B,一个 jar
  • C,一个 jar
  • D,一场 war

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

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

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

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

因此,如果我在 git 中推送 A 的新版本 3-SNAPSHOT,则会构建一个 3-SNAPSHOT jar 并将其推送到 nexus 中。但是,由于 Jenkins 依赖性,会触发 B 版本 2(发布 版本)的新构建。构建本身没问题,但是部署到 nexus 失败了,因为我不允许重新部署发布 Artifact 。

如何避免这种情况?当 Artifact 有发布版本并且该版本已经存在于 nexus 中时,不尝试上传到 nexus 是可以接受的。

我正在使用 Jenkins 1.480 和 maven 3.0.4。

最佳答案

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

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

关于maven - 避免 Jenkins 在 nexus 中多次上传发布 Artifact ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16187204/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com