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