如何在不影响到用户的情况下去测试生产环境下的新功能?-灵析社区

强哥喝假酒

有的时候我们访问一个网站的时候,可能会显示“服务器暂时不能访问”,请问这个时候是不是开发人员在测试生产环境,所以暂时停止了用户的访问? 比如我现在发了一个生产端的最新版本,我需要一个小时的时间去到线上进行测试,那么这种情况下的最佳实践是什么呢?如何避免影响到用户的使用呢? 我的生产环境经验有点少,请大佬看到这个题目尽可能的发散性的回答,就是说你想到的问题和答案都能写在评论中,让我能多学习学习,这种情况可能遇到什么问题,一般都怎么解决。 非常感谢~

阅读量:12

点赞量:0

问AI
正规一点的网站,都会有多个环境,比如生产环境(正式环境),staging,dev,不同分支等等。 服务器暂时不能访问就是服务挂了,是事故。 不同公司有不同的发布流程,不过一般来说,一个功能或者 bug 修复从启动到上线要经历很长时间,历经不同环境。比如: 1. 开发完成,本地环境自测。 2. 提交 PR/MR,线上自动生成测试环境,邀请测试人员参与。 3. 一个开发周期完成,全部功能上线测试环境,跑自动化测试、冒烟测试等。 4. 上线正式环境前,先上 staging 给大家预览 5. 最后部署到生产环境,交给全部用户 最后一步,有时候也会用灰度发布。因为产品太庞大,很难每次都跑全量回归,就会先推给一部分用户,看他们的数据表现基本正常,再推给全部用户。 有时候,预览环境或者某个大版本的测试环境也会长期向内部人员,或者某些特定普通用户开放,主要是为了收集反馈信息。类似游戏里的各种体验服、测试服。 所以大部分情况下,普通用户不会被发布过程影响到。 目前很多云平台,比如 Vercel、CF 都实现了这些功能,每个分支都有独立的测试环境,用起来很方便。自家的基建,使用一个构建工具配合 K8S 也可以搞,方案很成熟。