请问软件怎么实现客户私有化部署和更新升级?
项目是前后端分离的,目前能够想到的是假设客户服务器上环境全部准备好(或代安装)
1、后端项目生成二制包、前端项目打包后的纯静态目录,下载到客户服务器上
2、修改后端、前端各自的配置文件(数据库、redis、短信通道、oss对象存储、系统邮箱、后端接口地址等)
3、启用后端服务,配置nginx前后端项目
4、测试前后端是否正常运行
目前纯手动走上面的流程,勉强能够实现,但比较麻烦,不够自动化。
私有化后的更新升级还没有思路,特别跳版本升级,更新推送、数据库表结构及刷数据等要怎么实现?
如果客户不考虑安全,可以在客户服务器上开一个
webhook
,关联Git
仓库:打tag
或发新版本时触发webhook
执行自定义脚本,比如拉代码、更新前端、重启服务、刷缓存,全自动即可。如果客户安全敏感,远程推送升级就是伪需求,只能提供升级包 + 脚本 + 文档,由客户自行下载和执行。流程通常是:
release
包、迁移脚本。