发布升级流程
说明
- 每个项目的配置模版都是一套,开发、测试、生产的各自有独立配置内容
开发阶段
目标
开发者验证自己开发功能,确保功能没有问题,能够正常打包。
环境
本机、开发机器基于源代码部署。
部署方案
开发者参考代码库中的README.md详细描述进行部署。
配置
开发者需要提供启动需要的最小配置详细说明。
打包
开发者提供打包的脚本或者方法。
流水
每次代码合并流程设置编译卡点,由运维同学配置,开发者需要确保编译通过。
测试阶段
目标
基于项目的main分支,通过定时任务检测main分支是否有代码更新,确保环境始终都是main分支最新的代码,方便验证最新功能。
环境
测试环境,会配置测试域名
部署方案
运维提供两个脚本:打包脚本和升级脚本,脚本存放在<project name>/scripts目录下。检查main分支是否发生变化的通用脚本统一放在deployer/scripts目录下。

配置
开发者提供测试环境的配置信息
升级
在项目的docs里面维护versions.md文件,记录升级的影响,比如数据库变更(增加表、添加字段、修改字段类型以及插入默认数据等等)、配置变更(增加新配置、修改配置名称等)。
生产部署
环境
生产环境
部署方案
基于deployer部署,可以先非容器,然后改造升级成容器话部署,社区产品统一放到deployer/product/<your project name>
配置
流水
由运维配置Github打包流水线