持续集成 – 只部署更改的组件

我在java中有以下组件,每个都是一个单独的maven模块:

  • 尤里卡服务器
  • Zuul代理
  • 微服务#1

这些组件中的每一个都是独立的Docker镜像,它们共享一个相同的Git仓库。 jenkins也可用。

我的问题是,当更改单个组件来重builddocker镜像并部署它,而不是重新部署所有东西时,这是可能的。 CI的常见做法是什么?

我想过这个,可能的办法是将模块分离到不同的git仓库中,并在主项目中使用git子模块,有没有更好的方法来实现这个(maven / jenkins或docker)?

我可以看到没有理由,你将这个configuration为一个单一的项目。 我只能想象它引起的问题超出了你的问题提出的问题,而且我希望你尽快安排它,把它分成独立的构build系统。 我也不打扰git子模块。 这不是一个项目 – 这是三个完全独立的组件,它们应该独立版本化,并且具有独立的生命周期,因此应该在单独的回收站中使用独立的构build系统。 就目前而言,你已经做了很多工作,当你开始不小心破坏与你所做的改变无关的事情时,你可能会做更多不必要的工作。

目前我在世界上最大的一家银行中担任高级职位,我现在正在向我正在开发的开发团队提供同样的build议。 微服务特别要求独立的进化和隔离。