2016-10-08 52 views
0

寻找如何使用Spring Boot构建微服务的发布管理的建议。微软服务与弹簧启动和发布管理

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

我看到它的方式,以下是可能的策略:让发布独立管理每git仓库

  1. 一个弹簧引导项目(微服务Maven项目)。
  2. 一个多模块maven项目,每个模块都是微服务。所有子模块(微服务)都必须一起发布。父母pom将不得不使用Boot的父母pom。
  3. 依靠maven-release-plugin的功能,只能发布基于发行版的某些子模块。这将使每个maven子模块具有不同的版本(可能)。

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

+0

对我来说,只有1是一个有效的点。如果你像第2点那样工作,那么如果你必须或想要一起释放它们,那么在做微服务是毫无意义的。 – dunni

+0

我同意,但我怀疑这会随着微服务的增加而增长,从而使微服务发布管理变得复杂。 Lot的集成测试和回归测试。 – Alberto

+0

当然它会。这是微服务架构的一个缺点,您应该确保您可以处理它(即您应该拥有高度自动化的基础架构)。 – dunni

回答

0

为了关闭这个循环,我使用了选项1.虽然有多个存储库可能看起来很多,但实现微服务体系结构会阻碍一个良好的devops进程来简化此发布管理过程。