如何处理特征分支中的内部Maven依赖关系



我们的产品由同一git存储库中的不同模块组成。假设我们有对" API"的"核心"。

现在,当我们在特定的功能/bugfix分支上工作时,我们正在从中运行构建,以便测试可以使用。

所有分支机构的所有工件最终都以相同的版本和分类器为例。这些模块没有合并在一起。因此," API"可以在早晨建造,而在下午则是"核心"。

我们遇到的问题是,目前,如果两者之间建立了" core",则可能会从另一个分支中获得" API"快照。

我想这是与我们类似的设置的团队的常见问题。

我很想说,解决此问题的方法是使分支之间的Maven坐标是独特的,要么与特殊分类器或使用版本中的特殊后缀直接。

我应该遵循哪种方法?

如果您真的想从不同的特征分支中构建,请将其他术语放入1.2.3-feature1-SNAPSHOT之类的版本号中。这表明您确实构建了同一工件的不同版本,这也确保您永远不会添加两个"相同"工件与同一项目中的依赖关系。

另请参见

https://stackoverflow.com/a/48784315/927493

Maven版本管理不同分支的最佳实践[开发,QA/Pre-Release]

根据我的经验,这通常不是问题,因为项目通常不会从共享的Maven Repo中放置功能分支。

每当更新一个长期的分支时,您的构建服务器当然应用于重建(该分支的更新应保持一致(。听起来您正在使用gitflow;在这种情况下,您每次更新master时都会进行生产构建,并且每次develop都会更新时开发式构建。您的master构建将具有发布版本号,并且您的develop构建将具有快照编号。

它可以从共享存储库中的特征分支中使用什么用途?为此,它可以使构建服务器完全参与特征分支?您的开发人员可以在本地构建和部署以测试功能分支(包括必要时更新其本地Maven存储库(,并且一旦试图推动合并来开发将触发CI构建并捕获他们错过的任何内容,对

最新更新