内部做一个新的环境,在更新生产环境前先把生产服务等先在这个服务上过一遍,确认没问题后再上生产,这个环境叫什么环境?这种流程叫什么流程?

9 天前
 chaoyebugao

想了解大家发布生产前会不会有这样一个环境?我这目前没有,每次发布的服务一多就手忙脚乱,神经紧绷,一点都不丝滑。现在我这的做法是:

  1. 一两天前确定 [发布计划]
  2. 所有人准备 [发布说明] + 合并分支
  3. 然后由我打镜像,准备发布事项
  4. 更新生产镜像、SQL 、TerraForm 等事项
  5. 宣布更新完成,测试员回归

以上流程,是直接更生产,回归期间有问题直接修复,如果到了业务敏感时间段还得申请才能走 hotfix ,很多时候都会消耗一天的时间才能完成一次迭代。不是说发布前测试完就能在生产上避免问题,来自工程管理上的细节太多了,问题会像噪声一样溢出到生产。所以才想着一般是不是做一个这样的环境去做回归,然后才上生产,然后二次回归。

这样的环境叫什么?预发布环境?蓝绿部署?关键是,大家会不会这么做?

3418 次点击
所在节点    DevOps
50 条回复
ZARRO
9 天前
@cloudzhou 是的,这说明你们工程管理很优秀。但楼主的问题就是工程管理问题,所以我认为预发布环境不是解决楼主问题的关键。
如果功能可以在预发布环境回归验证,那么就可以在线上环境回归验证。如果不好验证,或者影响面很大、需要灰度,那开发的时候做灰度逻辑,而不是依赖环境。预发布环境优点是数据真实,且不受未发布的功能影响。
misaka19000
9 天前
gray
ZARRO
9 天前
@cloudzhou (不小心点了回复) 但是缺点是由于共享 db 导致无论如何都无法保证不影响线上数据。由于公司各个服务调用链路比较复杂,一时无法解决,而影响线上数据又是无法忍受的,所以就下线了预发布环境。取而代之的是加强对测试环境的管理。不受未发布的功能影响→任何需求都通过泳道发布互不影响(也就是一个需求一个环境,但共享测试环境数据库),只有当天要上线的需求由 qa 合到测试环境进行回归(在此之前先在泳道验收),然后每天自动将 master 分支发到测试环境。数据真实→qa 自动化测试用例。
至于配置相关的内容则是通过发布计划、金丝雀发布去解决的
ZARRO
9 天前
@chaoyebugao 是的,最终决定把数据库也隔离了,也就是变成了测试环境。
superhack
9 天前
staging
levelworm
9 天前
preprd? 反正别和 pre 混在一块就行了。
chaoyebugao
9 天前
@KagurazakaNyaa 那 staging 就是一直存在的开发测试环境吧?
chaoyebugao
9 天前
@ZARRO 但测试环境是长期存在的,对应 develop 分支,长期隔离的话和生产环境并不完全一致,数据量和代码上都不同,因为 Git Flow 的话生产对应的 master 或 release 分支
kaneg
9 天前
我们叫预览环境,数据库每次升级代码前从生产环境克隆。
flmn
9 天前
stg
meiyiliya
9 天前
我们是 dev -> beta -> preview -> online
开发只能操作 dev ,提测后由测试同学自动化打包到 beta ,上线当天再由测试自动化打包到 preview ,不过 preview 和 online 用的同数据库,所以这天大部分情况下测试都只会在该环境验证数据的查询操作,基本上只要不涉及到生产环境数据的增删改外都可以验证,没问题后再由运维发到 online 。
gefranks
9 天前
尽可能模仿生产环境的叫 stage(staging)环境.验证产线包的基本功能和配置,归类于生产环境的一部分, 只是基本上不会把外部用户放到这个环境上, 走上生产环境的流程.有问题的话就是 hotfix+批斗会伺候.
eudore
8 天前
预发 dev->test->pre->prod
pobo
8 天前
这个叫预发环境或准生产环境,稍微大点的公司一般都有
kenshin912
8 天前
Pre-Production 吧
我们是 Develop -> Test -> Pre-Production -> UAT -> Production
jimrok
8 天前
应该有专门的运维管这个 staging 环境,会从生产拿备份恢复这个 staging ,然后验证升级后的功能,通过后代码打标签,确认发布。然后发布到生产。验证工作一般有写好的自动化测试代码验证核心功能。
sharpy
8 天前
moni beta prod
skymei
8 天前
我们就有这个环境,叫 canary 灰度,和 prod 公用数据,但是仅内部访问,发布验证所用。
ZzzWatch
8 天前
sit-> uat -> pp -> prod ,pp 准生产,与生产环境数据一致
BestPix
8 天前
dev-release-prod

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://ex.noerr.eu.org/t/1166213

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX