Release Candidate在Maven存储库中的行为类似于SNAPSHOT

时间:2016-01-13 09:22:11

标签: maven repository

在开发中,我可以将最新版本的工件引用为1.2.3-SNAPSHOT。现在我需要发布候选版本的相同行为,即我希望能够依赖于最新版本候选者(还应该有一个程序让开发人员将开发版本声明为候选版本。)

我不确定如何正确实现此行为。如果开发人员要求,我是否应该为候选版本使用额外的存储库并将开发版本移动到此存储库?或者我可以以某种方式定义“第二快照列表”,如1.2.3-RC?

1 个答案:

答案 0 :(得分:1)

你可以在那里重新配置一些东西:

  • 使用依赖项的版本范围
  • 更改存储候选版本的存储库的updatePolicy。请参阅https://maven.apache.org/settings.html(updatePolicy)。如果您将工件存储在maven代理中,通常需要允许覆盖版本。

请记住,在多模块构建中,他们可能会在检测到构建失败之前上传模块(由于mvn deploy是一个阶段而非目标)。在开始在maven存储库中上载工件之前,您需要验证完整的构建是否正常。或以某种方式上台。

请记住,这肯定会阻止您的构建重现。由于RC依赖性可能会在构建之间发生变化您需要更改版本范围 - 这并不总是一个问题。范围可能适合您。

让开发人员保持快照但让CI服务器在部署/发布之前设置一个显式版本(例如使用版本插件)以获取工件使用的依赖关系,我有更好的经验。