我是运维,刚入职新公司不久。公司代码环境有 3 个测试环境( test001 、test002 和 test003 )->预发布环境( pre )->生产环境( prod )。
每个环境都是代码,数据库,中间件互相独立的。
目前一个发版流程就是:(以 test001 环境为例)
- master 分支合并到 test001 分支,开发提交代码到 test001 分支,Jenkins 发布到测试环境 test001
- 测试没有问题,将 test001 分支合并到预验收分支 release ,Jenkins 构建 release 分支到预发布环境
- 预发布环境验收没有问题,就合并 release 分支到 master 分支
- 最后,master 克隆一个 release_xxx 发版分支,Jenkins 构建使用这个 release_xxx 分支发布到生产环境
发版涉及代码,数据库表结构修改,mq topic 主题增删改等。
假如今天 test001 发版,那么对应的代码,数据库,中间件的修改,也要同步到 test002 和 test003 测试环境。
请问各位大佬这种发布流程有没有问题?或者有没有什么优化点?
真不想每次发版,我都得修改 5 个环境的配置,数据库。