2

寻找有关如何对使用 Spring Boot 构建的微服务进行发布管理的建议。

我工作过的大多数项目都使用发布插件(maven)来创建标签以及发布 maven 项目(jar、war、rpm)。通常,这依赖于发布过程中所有子项目(jar、wars)的 maven 父/子关系(单体源代码,都位于单个 git 存储库中)。我想知道人们如何维护不同的启动项目(微服务)并发布。

在我看来,以下是可能的策略:

  1. 每个 git 存储库一个 Spring Boot 项目(微服务 maven 项目),以便独立管理发布。
  2. 一个多模块 maven 项目,每个模块都是一个微服务。所有子模块(微服务)必须一起发布。父 pom 必须使用 Boot 的父 pom。
  3. 依靠 maven-release-plugin 的能力,只发布基于发布的某些子模块。这将使每个 maven 子模块(可能)具有不同的版本。

您的团队发现什么有用?我喜欢 Boot 的编程模型,但我希望我可以使用与 Boot 模型保持简单的发布策略一致。

4

1 回答 1

1

只是为了结束这个循环,我使用选项 1。虽然拥有多个存储库可能看起来很多,但实现微服务架构排除了一个良好的 devops 流程来简化此发布管理流程。

于 2016-10-28T20:02:00.747 回答