每个微服务都驻留在它自己的maven模块中+在我们所有的微服务中都出现了“公共”(基础设施)模块(包括依赖项)。
现在,我正在寻找有效的方法来建立我们的东西。
当有人执行提交时,我们触发
全部的
微服务,
使用以下命令:
mvn --projects backend/microsevice-a --also-make
mvn --projects backend/microsevice-b --also-make
....
mvn --projects backend/microsevice-N --also-make
因此,我们每次都使用所有依赖项来构建微服务,这不是最优的。
我正在寻找一种方法来使用只构建包含在上次提交期间更改的代码的模块
我们考虑的一个解决方案是使用nexus/artifactory并引入对版本的全面支持,这样每次jenkins构建它的东西时,它都会在artifactory中发布版本,比如说,这样以后jenkins就可以从artifactory中取出“准备好的”版本,但是这看起来是一个非常复杂的方法,因为我真的无法跟踪我的微服务部署了哪些修订版的依赖关系。
-
构建一些插件(maven/Jenkins)-可以解析上一次提交的信息,分析所有后端项目的依赖树并找出应该重建哪些微服务,但它看起来像是定制开发,我不确定其他人在做什么,也许它已经在Jenkins/maven中可用了-我不知道。。。
请分享您对这些方法的想法/提出备选方案
感谢您的帮助:)