公司分四个开发环境 dev/uat/pre/pro 系统开发时,研发&测试会在 dev 配置完整,测试通过后,后续环境都需要手动配置一份,繁琐且容易出错
参考 git branch 思路,dev 配置往 其他各个环境推进,无需再配置一遍,省时省力
老铁们有啥好的方案么?交流交流
1
xuanbg 2022-09-21 11:33:41 +08:00
最简单也是最好的办法,使用配置中心来提供不同环境下的配置数据。
|
2
guguji OP @xuanbg 主要是业务表配置的,举个例子,假设要配置一个活动,设计到圈人、价格、时间、渠道、投放等,这是一个完整打包的业务数据,没办法依赖配置中心。
|
3
sujin190 2022-09-21 12:06:12 +08:00
@xuanbg #1 配置中心才是坑死人的,如果把业务数据也放到配置中心来配置,然后测试开发生产都在一起,你确定不会分分钟搞崩生产环境?
运维、产品、运营、市场不同的配置不同人自己负责呗,为啥要 diff 同步,这种容易坑人,除了运维,其他的配置自身就是产品流程的一部分,功能设计的时候本来就要在产品流程中设计操作功能 你这既要动态配置有要求开发测试生产环境一致,本来就是静态功能,直接硬编码随着迭代正常发布测试就行吧,不需要可配自然也不需要同步,过度设计制造麻烦啊,测试开发应该只负责功能一致,谁负责的配置需求谁负责设置并完成回归测试呗,比如一个运营配置需求,刚上线时还没正式开放功能使用时你不让他自己弄一遍并完成回归测试,后面还不分分钟出事故啊 |
4
securityCoding 2022-09-21 12:08:22 +08:00
导出、导入?
|
6
clf 2022-09-21 12:11:41 +08:00
相关的业务自己写部署后的调用实施记录呗。可以由工具去主动调用。
|
7
potatowish 2022-09-21 12:12:55 +08:00 via iPhone
消息队列
|
8
sujin190 2022-09-21 12:14:05 +08:00
如果考虑到上线时配置过多,需要学习不容易快速完成,那么应该全部有默认配置,上线后先以默认配置运行,之后按需修改,业务配置的默认参数应该时依据运维环境相关配置动态生成,所以业务配置不会有环境相关不能直接以默认配置运行的情况,运维配置无非是数据地址域名什么的,不大可能需要配置非常多又不能一致的,而且吧设计的时候,默认配置一般是硬编码在代码里的,确实需要存数据库的,要么和正常配置数据分开存要么有独立标识代码里做兼容
总的来说,个人认为 diff 同步一致方案肯定是个坑,感觉不大可能有靠谱的方案的,除非你是配置完就再也不需要改了这种 |