场景
公司分四个开发环境 dev/uat/pre/pro 系统开发时,研发&测试会在 dev 配置完整,测试通过后,后续环境都需要手动配置一份,繁琐且容易出错
思路
参考 git branch 思路,dev 配置往 其他各个环境推进,无需再配置一遍,省时省力
难点
- 数据复杂,难做 diff:系统内配置设计多个表关数据,如果推下一个环境直接覆盖,有风险;做 diff 又很难展现
- 差异化数据同步:比如测试环境接口性能差,接口耗时需要设置 300ms ,生产性能好,只需要设置 100ms ,比较痛
- 任务冲突:迭代的任务在配置测试,此时生产需要 hotfix ,且入口只能从 dev 开始,此时如何保证基准和生产一致,且抹除迭代内的任务也不人性化
- 同步问题:由于数据复杂,没办法 ddl 同步,各环境沙盒,只能暴露 rest 接口调用,且需要考虑事务问题
老铁们有啥好的方案么?交流交流