当前位置: 首页 > 知识库问答 >
问题:

带有Spring Boot和Release Management的微服务

孔飞翔
2023-03-14

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

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

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

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

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

共有1个答案

章翔宇
2023-03-14

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

 类似资料:
  • 我有一个微服务-A,它从另一个微服务-B获得令牌作为标头。现在我想在微服务-A中实现swagger2。问题是每个请求都流经微服务-B。因此swagger-ui在本地as中引发错误 它不能获得微服务-B试图获取的那些报头参数。

  • 我想看看我是否可以在docker容器中docker compose的帮助下连接Spring Cloud Stream Kafka,但我被卡住了,我还没有找到解决方案,请帮助我。 我正在使用Spring微服务。到现在也没找到任何帮助。 Docker-compose与Kafka和Zookeeper: Docker-Compose与我的Spring服务: App.properties我的服务: 来自do

  • 我有一个springcloudmicroservices项目,它使用springcloudconfig服务器管理配置,使用Eureka服务器进行服务发现。 我的应用程序一直做得很好,直到我想添加一个新的带有键斗篷的微服务。这个新的微服务只是我的Vue前端应用程序的一个Rest应用编程接口,用户管理预计将由KeyCloak处理。 新服务运行正常,并将其自身注册到Eureka,直到我将KeyClope

  • 我正在尝试将vaadin与spring(没有Spring Boot)和基于java注释的spring部分配置结合起来。 自动连接似乎适用于vaadin ui部分,但不适用于“自定义ui类”(例如,“公共类LoginScreen扩展自定义组件”)。我在SysOut上得到一个NPE或一个空对象。 此外,我注意到“@ComponentScan(base Packages={"net.myapp"})”没