寻找有关如何对使用 Spring Boot 构建的微服务进行发布管理的建议。
我工作过的大多数项目都使用发布插件(maven)来创建标签以及发布 maven 项目(jar、war、rpm)。通常,这依赖于发布过程中所有子项目(jar、wars)的 maven 父/子关系(单体源代码,都位于单个 git 存储库中)。我想知道人们如何维护不同的启动项目(微服务)并发布。
在我看来,以下是可能的策略:
- 每个 git 存储库一个 Spring Boot 项目(微服务 maven 项目),以便独立管理发布。
- 一个多模块 maven 项目,每个模块都是一个微服务。所有子模块(微服务)必须一起发布。父 pom 必须使用 Boot 的父 pom。
- 依靠 maven-release-plugin 的能力,只发布基于发布的某些子模块。这将使每个 maven 子模块(可能)具有不同的版本。
您的团队发现什么有用?我喜欢 Boot 的编程模型,但我希望我可以使用与 Boot 模型保持简单的发布策略一致。