
# 开发环境规划管理
规划开发环境的目的是要保证开发人员更好地并行工作，减少依赖，减少搭建环境的工作量，降低生产环境上线的风险。
管理开发环境的目的是为了更好地进行开发测试，部署上线。
图1开发环境   
![](https://support.huaweicloud.com/bestpractice-cse/zh-cn_image_0000001464917562.png "点击放大")
结合项目经验，一般会按照[图1]规划开发环境：
- 搭建内网本地开发环境。本地开发环境的好处是各个业务/开发者可以搭建符合自己需要的最小功能集合环境，方便查看日志、调试代码等。本地开发环境能够极大地提升代码开发效率，减少部署和调试的时间。本地开发环境的不足之处是集成度不高，需要集成联调的时候，很难确保环境稳定。

- 云上测试环境是相对比较稳定的集成测试环境。本地开发测试完成后，各个业务将本领域的服务部署到云上测试环境，并且可以调用其他领域的服务进行集成测试。根据业务规模的复杂程度，可以将云上测试环境进一步分为α测试环境、β测试环境、γ测试环境等，这些测试环境集成程度由低到高。一般γ测试环境要求和生产环境一样的管理，确保环境稳定。
- 生产环境是正式业务环境，生产环境需要支持灰度升级功能，支持在线联调和引流，保证升级故障对服务造成的影响最小化。
- 云上测试环境可以通过开放CSE、中间件的公网IP，或者实现网络互通，这样可以使用云上的中间件替换本地环境，减少各个开发者自行安装环境的时间。这种情况也属于内网本地开发环境，微服务在本地开发环境的机器上运行。云上采用容器部署的微服务和本地开发环境机器上部署的微服务无法相互访问。为了避免冲突，云上测试环境只作为本地开发环境使用。
 
