💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
[TOC] # 互联网项目发布环境: 反向代理+白名单控制策略,域名对外访问是403,公司内网可访问。不用代理,手机直接连接wifi访问 。环境分为开发——测试——预发布——正式(每个环境对应一个独立域名),任何角色(开发、测试、设计、产品)都可随时访问。 ![流程](https://box.kancloud.cn/24d2aa82d8b031c6b8b901989283502a_640x402.png) APP的debug包,可任意切换上面四种环境进行调试、测试、体验。 ## 开发环境 一般就是我们自己的机器。 https://www.zhihu.com/question/28363179 ## 测试环境 提供测试人员使用,代码分支除了可以使用`master`分支外,其他的分支也是可以的。 ## 回归环境 如果同时有好几个人参与同一个项目,那么基于master分支可能拉出非常多的开发分支,那么当这些分支合并到master上后,master上的功能可能受到影响,这种情况下,会使用一个回归环境,部署master分支的代码。 ## 预发布环境 从线上负载均衡集群里摘一台机器出来,这台机器就可以作为预发机了 预发机是跑在正式环境,连接正式数据库的一台机器,但是不在线上负载均衡集群内,也就是说这台机器,可以进行线上环境的测试,但是不影响用户访问。 预发布环境主要还是充当正式环境测试。 一般在开发环境中对项目进行功能测试后,公司要求必须在预发布环境上连接真实的线上环境的数据,进行回归测试。对于前端开发人员来说,也可能在预发布环境测试中遇到本地未曾遇到的问题。这时前端人员必须具备在预发布环境中,快速定位问题的能力。而预发布环境中压缩的文件无疑造成了极大的困难,必须将资源文件对应到本地未压缩的原始文件进行调试和问题排查。 https://www.zhihu.com/question/42160474?sort=created ## [灰度发布](https://baike.baidu.com/item/灰度发布) 预发布环境过后,就是灰度发布了。由于一个项目,一般会部署到多台机器,所以灰度1台至三台,看看新功能是否ok,如果失败则只需要回滚几台,比价方便。 注意:由于是灰度发布几种几台,所以一般会使用跳板机,然后进行域名绑定,这样才可以保证只访问有最新代码的服务器。 ## 生产环境 1. 我们需要的是:运维搭建一个和生产服务器相同环境的测试环境,然后我们需要ip地址(通过切换ip地址进行环境模拟)进行本地开发。 2. 所有服务器上的代码都已经是最新的了。 3. 需要运维技术去部署一些服务器端问题。 ## 反向代理 本地反向代理线上真实环境开发即可。(apache,nginx,nodejs均可实现) https://www.baidu.com/s?ie=utf-8&wd=%E5%89%8D%E7%AB%AF%20%E6%9C%AC%E5%9C%B0%E5%BC%80%E5%8F%91%E7%8E%AF%E5%A2%83%20%E5%8F%8D%E5%90%91%E4%BB%A3%E7%90%86 [charles本地调试之map和rewrite功能](http://www.cnblogs.com/wonyun/p/5586746.html) [在Windows 8.1上使用Fiddler重定向http请求进行前端调试](http://blog.csdn.net/tao_627/article/details/44899761) ## 参考 [成熟的Web开发团队开发、测试、上线的环境和流程是怎样的?](https://www.zhihu.com/question/20694803)