【发布时间】:2011-11-26 18:59:50
【问题描述】:
Jenkins 正在将最近构建的工件安装到本地 Maven 存储库,即使该作业的执行目标仅为 clean package。
当有人不小心提交了共享库的更新版本而没有增加库的 POM 中的版本号时,这会导致问题。 Jenkins 构建了 jar,将其安装到本地 Maven 存储库,然后(按照配置)将工件部署到我们共享的 Nexus 存储库。 Nexus 完全正确地拒绝接受新工件,因为它已经有一个具有给定版本号的版本。
一段时间后,Jenkins 构建了一个依赖于该库的项目,并使用其 本地 Maven 存储库而不是 Nexus 中的库副本。因此,该项目是使用错误版本的代码构建的。
似乎有两种可能的解决方案:
- 阻止 Jenkins 错误地将 .jar 安装到本地 存储库
- 在以下情况下阻止使用本地存储库 构建依赖库的项目
【问题讨论】:
标签: maven hudson jenkins nexus sonatype