• 技术选型:前端是 Vue ,后端是 SpringBoot+Mysql+Redis+Minio ( OSS ),版本控制是 git ,项目管理是 maven 。
  • 要求:能做到在客户不通外网的普通电脑主机上进行一键部署,开箱即用;且还有一个要求,假设后端有 A 、B 、C 、D 四个功能,每个客户需要的功能是 A 、B 、C 、D 四个功能的不同组合,如果需要 A 、B,则不能包含 CD 的代码,让删掉这些代码!!!但很可能逻辑有交织。
  • 自己能想到的办法:1.对于一键化部署需要通过 docker 、docker compose 去做,缺点就是需要安装这些东西,但客户很多都是非技术人员。2.不同功能的组合,代码不能删除,通过拆分不同模块的办法进行解耦,对逻辑有交织的部分面向接口编程。最后在打包时根据需求进行模块的聚合。
  • 这是目前自己能够想到的,还有什么更优解吗?请赐教
举报· 1481 次点击
登录 注册 站外分享
12 条回复  
sampeng 小成 2025-7-31 22:22:33
@heiya 个人端部署要啥 redis…也就一个 java+数据库就完事了…
yishidixia 初学 2025-7-31 21:56:21
@heiya 对的,我记得我们之前都是写 shell 部署
heiya 楼主 小成 2025-7-31 21:40:48
@sampeng 很明确的说要在个人电脑,而且毫无争议的要。如果是这样我倒是觉得可以按照 @make115 和你的想法进行架构重构,MySQL 换成 SQLite ,Redis 换成本地缓存,minio 换成本文件,进行重写。
sampeng 小成 2025-7-31 21:18:47
@heiya 还要 windows 个人电脑?这一套下去有啥坑鬼知道啊…这其实就比较难搞了…一般这种都是干脆直接重新开发了。你这套架构就 minio 和 redis 。在单机环境下,都是可以替代的。整半天还不如重新写一份…把这两个替代掉就可以了
heiya 楼主 小成 2025-7-31 21:09:42
@sampeng 这个方法我了解一下,谢谢
heiya 楼主 小成 2025-7-31 21:06:46
@make115 架构已经是改不了了,目前是最简状态 @murmur 这个倒是没有要求 @guanzhangzhang @joyyu 架构方面公有云架构是 SpringBoot+Mysql+Redis+OSS ,私有云版是 SpringBoot+Mysql+Redis+Minio ,有一些功能在公有云和私有化在执行时是不同的逻辑,这些我已经抽象好了。目前有一个公有云版在阿里云上跑着;另外,之前的私有化部署就是客户给 Linux 环境机器我自己搞的,代码混淆一下,并且制作了一个 license 。现在的私有化部署要求在任意平台包括且不限于在用户的 Windows10 、11 上一键部署,没错,是客户平时使用的个人电脑,并且最好是我不用介入,直接给他一个包双击后 前后端整个起来直接用了。。所以在想到用 docker 方案的时候考虑到如果是 Windows 平台 docker desktop ,wsl 这些就有一些犹豫。我甚至怀疑这种给个人主机一键部署的需求是否合理。模块的话还是像你说的,代码是不能删的,我准备在业务层搞一个 basic-common 解耦一下。 @yishidixia 是纯 shell 的那种吗?
yishidixia 初学 2025-7-31 19:51:10
写个一键部署脚本是不是就行了,把依赖的东西都放到包里
joyyu 小成 2025-7-31 19:19:49
一般就是通过 docker 去做,离线部署那只能提前确认好部署环境,把必要的环境包存硬盘去现场部署,部署工作最好还是自己搞比较好,尤其后续还有维保更新的话。。。 模块的话一般细分一下权限,再通过 license 控制就行,删代码控制就太乱了,也不好维护项目版本。
guanzhangzhang 初学 2025-7-31 19:18:58
你要确认后续客户是否不同的 os 和架构,是的话 golang 轻松些,有些客户是给机器让你们支持部署,上面说的定制 ISO 不现实。
12下一页
返回顶部