1、如何发现错误,要有完善的监控机制和流量路由机制。
2、核心问题是如何回滚,到容器级别其实是备份镜像还是备份容器
镜像和容器是两个相互独立的步骤,有关联但是可以分开操作!例如:现网是先打好的镜像push到私服,这时线上运行的容器和将来运行的镜像服务内容是不一致的;如果这时候备份了镜像显然是错的(再构建release时先备份image又没错了),但是如果备份的是容器就没多大问题,例如容器有修改配置文件、或是修复过bug上传的最小class文件?是不是需要验证备份的容器是否包含了这些?
实际结果:测试环境是一键打包部署的,即不可能出现镜像和容器有偏差的地方,所以备份哪个,关系不是很大!
个人建议备份容器,为什么?因为release版本可能需要合并多次,如此自动打包多次,也就被很多次,就算以日期标识,也会被无限覆盖,可能需要时间戳来区分比较合理(如果脚本备份没有其他标识,就只会产生一个备份文件)
做到这一步,自动回滚就会非常容器,简单的总结一下, 推荐使用版本号控制镜像发版。