• 你们公司把正式发布到生产环境前让系统跑一遍的环境叫什么环境?
  • 发布于 8小时前
  • 19 热度
    11 评论
想了解大家发布生产前会不会有这样一个环境?我这目前没有,每次发布的服务一多就手忙脚乱,神经紧绷,一点都不丝滑。现在我这的做法是:
1.一两天前确定 [发布计划]
2.所有人准备 [发布说明] + 合并分支
3.然后由我打镜像,准备发布事项
4.更新生产镜像、SQL 、TerraForm 等事项

5.宣布更新完成,测试员回归


以上流程,是直接更生产,回归期间有问题直接修复,如果到了业务敏感时间段还得申请才能走 hotfix ,很多时候都会消耗一天的时间才能完成一次迭代。不是说发布前测试完就能在生产上避免问题,来自工程管理上的细节太多了,问题会像噪声一样溢出到生产。所以才想着一般是不是做一个这样的环境去做回归,然后才上生产,然后二次回归。这样的环境叫什么?预发布环境?蓝绿部署?关键是,大家会不会这么做?
用户评论
  • 追梦魂
  • 尽可能模仿生产环境的叫 stage(staging)环境.验证产线包的基本功能和配置,归类于生产环境的一部分, 只是基本上不会把外部用户放到这个环境上, 走上生产环境的流程.有问题的话就是 hotfix+批斗会伺候.
  • 2025/10/18 10:52:00 [ 0 ] [ 0 ] 回复
  • 随风流浪
  • 我们是 dev -> beta -> preview -> online
    开发只能操作 dev ,提测后由测试同学自动化打包到 beta ,上线当天再由测试自动化打包到 preview ,不过 preview 和 online 用的同数据库,所以这天大部分情况下测试都只会在该环境验证数据的查询操作,基本上只要不涉及到生产环境数据的增删改外都可以验证,没问题后再由运维发到 online 。
  • 2025/10/18 10:32:00 [ 0 ] [ 0 ] 回复
  • 枪蹦狗友
  • 我们以前是叫预发布环境。这个环境数据库用的也是生产的数据库,但是正式的请求不会被访问到这些实例上。有时候会通过手动控制上层的网关,把一部分请求转发到这个环境上,在紧急的时候会直接把客户端的请求转发到这个环境中。等运行一段时间后,确定没有内存泄漏、程序异常后,再把预发布的镜像全量更新到生产环境上。这么做的目的其实就是验证上生产的镜像是不是正常的,以及新更新的接口有没有问题。
  • 2025/10/18 10:28:00 [ 0 ] [ 0 ] 回复
  • 果酱
  • 我们一般把这个叫 stag 环境,dev->stag->prod
    development 是内网的多套环境,用来即时测试,非 stable 标签的镜像不会进入 stag
    staging 是一套用于测试的环境,和 prod 完全同构,stable 镜像必须先发布到 stag 才能发布到 prod
    production 就是生产环境了,镜像来自 stag 环境

  • 2025/10/18 10:24:00 [ 0 ] [ 0 ] 回复
  • 笑颜如初
  • 清风挽发  2025-10-18 10:08
    南歌初渝  2025-10-18 09:58
    sit -> uat -> prod

    你们 UAT 和生产共用数据库吗?

    共用数据库其实也有很大隐患,前司几次生产事故就是由预发布环境引起的,后来就下线了这个环境(下线的过程中也出现了几次生产事故)。通过引入预发布环境来解决工程管理问题,但却又因此引入了一个新的工程管理问题……

  • 2025/10/18 10:18:00 [ 0 ] [ 0 ] 回复
  • 北悸安凉
  • 预发布环境/沙盒环境,会和线上连同一个数据库之类的,在请求里携带特殊 Cookie 之类的,线上域名的流量会转发到这个环境,然后 PM 和 QA 走查
  • 2025/10/18 9:56:00 [ 0 ] [ 0 ] 回复