让我们一起加入这万米云端的历险!!

标题是在李鼎大大博客中看到的《准备一个安全可靠的发布流程》文章中的一句话,挺适合用来形容一次大版本发布这个情形的。昨天是2017年最后一次大版本发布,可谓是障碍重重。发布的项目比较多,而且整个项目的开发时间很赶,作为项目开发者的自己底气都不是很足。包含大量配置,无法线上回归,发布流程整整写了两页。

发布流程梳理:

起飞前的准备

  • 申请线上的机器和域名。
  • 确定项目线上机器的ip,确保有登录权限。
  • 确定线上的域名。
  • 创建数据库表。修改数据库表结构。(尽量不要涉及删除字段这种情况)
  • 创建对应的kafka topic,以及influxdb对应的数据库。
  • 初始化表数据(分部有依赖的情况需要留到发布中)。
  • 打正式包,发布到线上仓库,将依赖项目的版本号升级。
  • 代码合并到发布分支。保存当前线上代码的分支用于回滚。
  • 整理每个项目需要修改的发布配置项,创建线上superDiamon的配置。
  • 配置好线上环境goodjob。
  • 写好发布流程。
  • 想好回滚策略。

起飞中

  • 严格按照发布流程执行。
  • 检查项目是否启动。
  • 查看错误日志。

到达目的地

  • 整体回归。