佬友们有没有关于springcloud框架微服务传统架构(非容器化部署)的离线集成部署建议?

各位大佬,目前公司产品使用springcloud框架开发,整体产品包含组件多达40来个,每个组件都有后端服务和前端静态资源,还有各自的配置文件(放到nacos中)。

开发团队众多,基本每天都有各个组件的版本迭代更新发布。

由于不使用容器化部署(客户都是国企央企,对信创有要求),导致一次完整的离线集成部署会特别麻烦,一次完整的部署需要去取包,40个组件指定版本的前后端及配置文件,几个中间件的离线包,然后把这些包弄到客户服务器上进行部署。

目前的做法是用ansible playbook写了一套脚本,把上诉所有离线包都丢进去,用脚本一步步跑部署,部署的过程中还涉及到一些配置文件的修改之类,用到了playbook的j2模板功能。虽然看起来解决了部署问题,但是对于playbook本身的维护太不友好了,每次有很多组件迭代了,我就需要将这些组件的前后端指定版本、配置文件全都丢进去维护内容,最后重新制作成一个总体包进行整体发布,特别耗时。

有没有大佬从这种离线部署场景和流程上给点建议啊?能增加效率的都行。跪谢。

1 个赞

如果不上容器 k8s这些 ,建议把你这四十多个服务能合并的合并下吧

开发工具用的啥?统一不?IDEA热部署插件了解一下?集成Git、Maven、nacos、eureka、

这个没法合并了,都是从老产品升级架构成微服务拆出来的 :joy:

跟开发工具无关吧,所有组件开发框架、标准都是一样的。场景是离线集成部署这个场景。

所以要升级的话,是代码调整了?或者配置修改了?还是组件版本需要迭代了?热部署插件,搜一搜试试呢、、、

微服务不上容器,难顶。

组件升级大部分当然是用CICD流水线来做,跟我上面描述的不是一个使用场景呢。


试试这个?