CI部署策略

时间:2018-08-20 07:30:14

标签: java maven jenkins continuous-integration

假设Team Alibrary A version 1.0.1上工作 Team B正在研究library B version 2.0.3 我们希望将这两个工件一起交付。

library A depends on Library B

在这种情况下,我们应该配置Jenkins在Maven远程仓库上部署工件,以便开发人员始终使用最新的SNAPSHOT版本吗? 最佳做法是什么?

2 个答案:

答案 0 :(得分:0)

只需使用mvn deploy将SNAPSHOT版本部署到公共Maven存储库,并在lib A的pom.xml中将lib B 2.0.4-SNAPSHOT声明为依赖项。

确保使用mvn <goal> -U构建lib A来触发Maven以更新SNAPSHOT依赖项。

答案 1 :(得分:0)

两种可能的方法:

  • 如果库B的最新发行版本(例如2.0.2)足以满足库A的需求,即它提供了所需的所有功能,则A可以依赖2.0.2版中的B。当您在版本1.0.1中与库B在2.0.2中一起发布时,不会感到惊讶。

  • 如果库B的最新发布版本 还不够,即A需要尚未发布的B的新方法,则需要使用库B的SNAPSHOT版本。 B必须定期构建SNAPSHOT版本,并且团队A可以使用它。在发行之前,B需要构建发行版本,然后,A可以针对B的发行版本进行构建。