持续集成 - 仅部署更改的组件

时间:2016-12-20 20:41:25

标签: java maven jenkins docker continuous-integration

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

  • Eureka服务器
  • Zuul proxy
  • 微服务#1

这些组件中的每一个都是一个单独的Docker镜像,它们共享一个相同的Git存储库。詹金斯也有。

我的问题是,当更改成为单个组件时,可能只重建该docker镜像并部署它而不是重新部署所有内容。 CI中的常见做法是什么?

我已经考虑过这个并且一种可行的方法是将模块分成不同的git存储库并在主项目中使用git子模块,是否有更好的方法来实现它(在maven / jenkins或docker中)?

1 个答案:

答案 0 :(得分:1)

我认为没有理由将此配置为单个项目。我只能想象它引起的问题超出了你的问题提出的问题,我建议你尽快将它分成单独的git repos和单独的构建系统。我也不打扰git子模块。这不是一个项目 - 这是三个完全独立的组件,应该独立地进行版本化并具有独立的生命周期,因此应该使用单独的构建系统进行单独的存储。就目前而言,你已经做了很多工作,当你开始意外地破坏与你所做的改变无关的事情时,你可能会做更多不必要的工作。

我目前在世界上最大的银行之一担任高级职位,而且我正在向我正在与之合作的开发团队提出同样的建议。微服务特别需要独立的进化和隔离。