微服务项目如何管理模块,如何用 git 管理版本

2023-02-15 12:14:52 +08:00
 qviqvi

小厂项目不成熟,想请教一下大家

项目是 springboot 微服务项目,不同业务功能在不同业务模块中,另外有一个公共模块,各个业务模块会依赖这个公共模块。

请问下面哪种方案好?或者有什么更好的方案?

方案一: 见一个父项目,在父项目中建立各个业务模块和公共模块,所有业务模块继承父项目并依赖公共模块。所有代码在一个 git 项目中管理

方案二: 各个业务模块各自建一个项目,公共模块也建一个项目,各个业务模块依赖公共模块,作为多个 git 项目管理

3938 次点击
所在节点    Java
43 条回复
Nnq
2023-02-16 05:10:22 +08:00
方案一 还是方案二 主要还是看你们有没有足够的人来管理 :

方案一等于是所有的都放到一个池子里,所有的子模块与父模块保持版本一致,如果每次发布的版本都是整体发布而不是单独发布,这个方案方便管理,即使人很少也很好维护

方案二 如果子模块可以被其他多个项目复用,例如一个第三方接口的客户端实现等,同时项目足够复杂,有足够的程序员, 每个模块由不同的组来维护管理, 有一个很清晰的 release note 等, 发布的时候每个模块可以有不同版本
unco020511
2023-02-16 10:22:15 +08:00
当然是方案二
xiaocaiji111
2023-02-22 17:18:58 +08:00
很多大厂都是方案 1 ,包括谷歌,因为他们强制上线会把所有得模块都 build 一遍,保证整体可编译。至于 monorepo 多大,看团队了。又不是所有团队得代码都放在一起。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/916288

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX