针对的问题
- 有多套环境时,一个项目上线,后续总是需要更新其他几套环境,手工更新环境效率低且容易出错
- 手动搭建新环境效率低
- 测试环境的分配策略如果不明确,容易互相干扰和产生使用冲突,影响项目效率
改进目标
- 环境搭建、更新、删除自动化,提高效率,避免出错
- 每套环境尽量独立完整,明确使用者,从环境搭建时就明确环境分配策略,避免使用冲突
- 支持一机多套环境,节省测试机
一种通用解决方案
整体结构
说明
- 从线上定时获取所有模块的程序、配置等到中控机,模块的数据视情况下载或下载部分
- 在中控机集中维护配置的替换策略(Ip,appid等),以及一些模块初始化目录和脚本
- 最下层的测试机利用中控机上的程序和配置替换策略,自动搭建或更新测试环境
- 主要的维护代价在于:线上环境有更新时,需要更改中控机上的替换策略
单台测试机上的结构
说明
- 每个目录下尽量构建系统所有模块,即不同测试环境之间尽量完全隔离。
- 模块端口在配置中指定起始值,搭建时自适应分配
- 程序名根据环境路径,唯一确定,避免kill或重启时互相干扰