第一次设置Jenkins CI系统时,我想知道如何处理快照依赖关系和本地Maven存储库。快照依赖关系的持续集成策略(与Jenkins)
我们有一个具有依赖项Y的工件X. Jenkins被配置为每次Y有一个提交时构建X.
策略A(工作空间Maven仓库):
的本地仓库被配置为 “本地到工作区”。这意味着每个构建的作业都有自己的存储库。 Y提交会触发构建(“mvn clean install”),但由于构建版本X和版本库Y是隔离的,所以X使用最后的版本Y,而不是最后一次提交。
使用此策略似乎很有用,可以检测是否还部署了所有依赖关系,但它不会检测到集成问题(中断Y提交中断X)。
战略B(共用Maven仓库):
詹金斯使用公共的本地仓库。 (断开的)Y快照的提交触发使用当前Y快照的X的构建,并且检测到集成问题。缺点是,这不会检测是否所有构建依赖项都部署到中央快照储存库(因为CI系统确实已将它们全部安装在本地储存库中)。
有没有一种结合了A和B优点的策略?