在一个项目开发到发布的整个过程中,会使用到很多个环境进行测试和运行项目。最基本的开发环境、测试环境、准生产环境、生成环境
一、开发环境
开发环境顾名思义就是我们程序猿自己把项目放到自己的电脑上,配置好以后,跑起来项目,然后我们在这个基础上来进行开发,这个开发环境就是方便我们程序猿来开发功能,调试Bug的。
二、测试环境
开发好一个功能以后,得让人家测试人员测试吧,但是咱不能直接把人家喊过来,连上自己的本地开发环境测试,一是有些问题模拟不出来(比方说数据问题),二是自己的代码和环境经常改变,不能保证最后人家测试人员测试的时候那个环境还有代码完全一致。所以这时候就有了测试环境这个概念,公司会搭建一个跟服务器,连接上专门的测试数据库之类的(肯定得数据库也是跟真正的数据库隔离开啊,要不会篡改用户数据),配置好一个环境专门用来测试人员连接上测试,我们把我们的代码提交以后,一般会由小组长或者其他人员把我们的代码发布到测试环境,这时候测试人员就可以愉快的找Bug啦。
三、准生产环境
对于有的公司来说,这个功能开发好测试好以后,并不是直接就APP里面上线了,而是我们现在1月份做的功能,可能会排期到5月份上线,但是需要真实的环境测试一下是否完全符合要求啊,这时候就诞生了准生产环境,你可以把他当做生产环境的克隆体,数据库什么的都一样,但是他是后备隐藏能源。(ps.由于项目的性质和类型不同,有的项目可能不需要这个环境)。
四、生产环境
生产环境就是咱们开发的功能要到时候放到APP或者网页里面,里面的所有数据和东西都是真实的,也是去让用户正常使用的环境,生成环境一般是在用户使用量少的时间段下进行发布,这样生成环境就算出现错误,也能把损失降到最低。
五、预发布环境、灰度发布、生成环境又和不同
1、预发布环境
这个环境中,一般会连接生产环境的数据库,使用生产环境的数据来进行测试。
2、灰度发布版本
预发布环境过后,就是灰度发布了。由于一个项目,一般会部署到多台机器,所以灰度1台至3台,看看新功能是否ok,如果失败则只需要回滚几台,比较方便。注意,由于是灰度发布几种几台,所以一般会使用跳板机,然后进行域名绑定,这样才可以保证只访问有最新代码的服务器。
3、生产环境
所有服务器上的代码都已经是最新的了
接口测试和接口文档生成工具: