问题是:会有N个微服务,将它们放入GIT中的最佳方式是什么?
每个微服务都位于单独的存储库中,还是所有内容都可以在一个存储库中描述?
未来我们计划连接k8s来自动提升服务的副本。
我是否正确理解docker的镜像将在Jenkins中构建,然后这些镜像将在k8s中使用?
如果是这样,那么 Jenkins 应该如何处理这样的事实:我只更改了 10 个微服务中的第 3 个,并且只需要重建它,而不需要触及其余部分,并仅为第三个微服务制作 docker 映像(在如果所有微服务都在一个存储库中,则属于这种情况)。
有一个十二因素应用程序概念,其中“一个应用程序 - 一个存储库”被认为是最佳的。
你可以想出很多选择,但这是正确的方法
更好或更差?您要做饭还是只询问菜谱?
这个问题更有可能适合你。如你所愿。无论哪种方式都可以完成。有很多不同口味的菜肴。我确信任何概念都会有支持者。
这就是您的设置方式。但任何 CI-CD 的理念都是自动化所有重复流程并专注于核心。
好吧,你看,如果你决定煮粥,那么你就不应该在事后选择荞麦和菜肴。如果你决定把所有东西都一起煮,那就以同样的方式吃。凡事都有优点和缺点。把所有东西放在一起很容易做饭,把它放在一起就可以了。涉及最少的工具。单独烹饪意味着单独的小菜放在不同的盘子里;跟踪烹饪过程的成本很高,但结果却有更多的变化。你不能作弊。
今天我会走一条不同的路。
您的应用程序在整个开发过程中将不可避免地部分或全部添加和重写。没有必要害怕这一点,它是生活的一部分。害怕毁掉一道菜的厨师就不是厨师。