任何一家上规划的企业,在技术层面首要解决的是安全可靠的版本发布管理机制. 机制上大致说来做到三点:
1. 自动发布
2. 灰度发布
3. 快速回滚.
安全上做到三点:
1. 运维部署上线后,除非有特权的指定的人外,任何人不用登录服务器.
2. 所有的版本管理通过跳板机+发布工具进行远程管理.
3.任何服务器被物理删除或者格式化,把备份的版本管控软件直接在服务器上一键安装,分钟内完整的恢复系统.
具体业务实现(伪代码)
1. 版本发布
if(检查有新版本)
{
所有服务器拉取最新版本;
复制到临时目录;
把当前服务器从线负载拉下来;
把发布产品复制到正式工作目录;
重启应用;
一下台重复上面步骤.
}
2. 回滚到指定版本
if(检查到回滚到指定版本)
{
所有服务器拉取指定的版本号;
复制到临时目录;
把当前服务器从线负载拉下来;
把发布产品复制到正式工作目录;
重启应用;
一下台重复上面步骤.
}