前提条件
- 多集群(每个集群至少3台机器)
- 异地双活DR配置(一般部署在不同的机房,配置相当,平时流量配置比例为9:1)
代码质量管理
- GIT管理源码
- CHECK IN注释
- CODE REVIEW
- UNIT TEST
- SONAR检测
- Jenkins做自动化回归和test coverage检测
打包和版本管理
- 根据不同环境打JAR包
- JAR包要有版本管理
堡垒部署、验证流程
- 拉出一台堡垒机(拉出即为仅内部可访问,外部不可访问,可通过SLB实现)
- 在堡垒机上部署新的JAR包,重启服务并点火 (注意各种服务端配置也要做相应更新)
- 验证堡垒环境服务是否正确(APP指定堡垒环境验证、用自动化工具验证 等)
- 验证通过后拉入堡垒机,并观察服务日志、各项指标一段时间(一般要观察大于五分钟时间)
- 验证不通过或发现大量异常报错,立刻回滚
生产部署、验证流程
- 堡垒部署验证通过后,进行生产环境的部署
- 一般先部署流量小的那个集群
- 分批拉出集群内集群,部署JAR包,重启并点火,拉入集群,观察一段时间后,对下一批次的机器重复以上操作,直到集群内集群全部部署完成
- 集群部署的批次一般设置为3-4批次
- 小流量集群发布完成后,观察一段时间发布大流量集群
- 发布时别忘了同步配置
- 全部集群都发布完成后,再次观察日志报错和数据指标一段时间后,即可完成发布任务,写发布报告。
- 期间遇到任何大量报错或指标严重下降,必须立刻回滚