测试和上线环境如何保证代码的有效性一直是一个问题。如何保证测试环境和线上环境的代码是一抹一样的,测试环境测过的逻辑和相关代码等到上线时代码是一样的,这个很重要。
有人说,采用version版本记录就可以了,但是问题是,如果上线时候,开发说,我们临时收到要求,需要修改配置项怎么办。
关键是配置项对应的修改的版本和测试版本中间还差着好几个版本,也就是中间又提交了心的代码,即使开发拍胸脯保证中间提交的代码没有问题,但是这一定是风险很大的。
我考虑有一下两种思路:
1. 采用集中化的配置中心策略。例如携程的applo,阿里的dimond等统一配置中心。
2. 将各个环境的配置放到git上,上线时直接采用测试环境测好的包。将git线上环境配置替换jar包对应的配置文件即可。
当前我们项目采用的是2方案。
shell脚本如下: