惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园_首页
C
Cybersecurity and Infrastructure Security Agency CISA
C
Cyber Attacks, Cyber Crime and Cyber Security
Project Zero
Project Zero
P
Proofpoint News Feed
D
Darknet – Hacking Tools, Hacker News & Cyber Security
C
Cisco Blogs
V
Vulnerabilities – Threatpost
G
GRAHAM CLULEY
N
News | PayPal Newsroom
NISL@THU
NISL@THU
雷峰网
雷峰网
J
Java Code Geeks
Latest news
Latest news
aimingoo的专栏
aimingoo的专栏
Microsoft Azure Blog
Microsoft Azure Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Cisco Talos Blog
Cisco Talos Blog
Hacker News: Ask HN
Hacker News: Ask HN
AWS News Blog
AWS News Blog
Application and Cybersecurity Blog
Application and Cybersecurity Blog
T
The Exploit Database - CXSecurity.com
P
Privacy International News Feed
C
CXSECURITY Database RSS Feed - CXSecurity.com
Vercel News
Vercel News
Spread Privacy
Spread Privacy
V2EX - 技术
V2EX - 技术
S
Schneier on Security
K
Kaspersky official blog
Recent Announcements
Recent Announcements
T
Threat Research - Cisco Blogs
B
Blog RSS Feed
S
SegmentFault 最新的问题
Security Archives - TechRepublic
Security Archives - TechRepublic
Stack Overflow Blog
Stack Overflow Blog
Hugging Face - Blog
Hugging Face - Blog
Apple Machine Learning Research
Apple Machine Learning Research
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
W
WeLiveSecurity
PCI Perspectives
PCI Perspectives
The GitHub Blog
The GitHub Blog
The Last Watchdog
The Last Watchdog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
博客园 - 【当耐特】
Engineering at Meta
Engineering at Meta
Scott Helme
Scott Helme
Recent Commits to openclaw:main
Recent Commits to openclaw:main
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
量子位
A
Arctic Wolf

DevOps

复制企业级 Linux 开发环境:如何实现严格开发环境与生产环境一致性的基础架构策略 - V2EX 带有账密的 ISP 住宅代理,海外服务器请求正常, macOS 本地 curl 持续失败 A lock-file-based plugin manager for Jenkins 从 2022 年至今, DevOps 技术栈有什么新的发展吗 oracle 1U1G 机器能吗? 各位都是怎样优雅的 pull 容器镜像的 Gisia 新版发布,增加看板功能,欢迎提意见 使用 containerd 配置镜像加速不生效问题 一个 Jenkins 技术问题,要被搞疯了 推荐一款轻量级 DevOps 平台 tg 上运维/sre/devops 相关的交流群 有哪些能满足要求的 DevOps 平台? 国内参加 CKA/CKAD 考试有无推荐的代理提供商 关于 Java 项目的健康检查、自愈和轻量级管理 drone 构建一直卡住,心力憔悴 [Terraform/腾讯云] 有用 Terraform 来管理腾讯云的朋友吗,它这个频率限制真的没问题吗? 遇到一点证书问题,望运维大佬给看看 - V2EX 关于 CMDB 如何保证数据一致性的讨论 Red Hat Access 文档下载求助 各位 Linux 运维的巨佬工作用 mac 吗 - V2EX 在单服务器搭最小规模的 CICD 的技术栈是什么 - V2EX 遇到一个 Redis 跨 VPC 读取的问题 好奇 Linux 运维 修改配置一般有做版本控制吗 - V2EX 私有化 SaaS 系统应该支持随便换域名吗 - V2EX 请教一个关于容器化部署的问题 官方 helm charts V.S. bitnami helm charts V.S. 官方 operator,大家一般倾向于用哪个? terraform 原理的一点儿思考 私有化部署太难搞了 - V2EX Google SRE 的 on-call 方法和工具 开发转做运维开发,有什么需要注意的?需要额外学习和掌握什么? 大家的 CI 都是怎么搭建的? 开源 CMDB 新增支持多种认证方式: CAS、OAuth2.0、OIDC,并已兼容测试 casdoor 很好奇还有没有类似 Jenkins 的 配置 Freestyle 项目的 CI/CD 工具 坚持为「专业性」买单,就是最大的降本增效! KCL 社区最新动态速递 | IDE 插件支持引用查找和重命名、CNCF ArtifactHub KCL 集成 - V2EX cmdb vs rpa ? 国内有没有类似 FreeIPA 和 Keycloak 的产品? 求推荐一个可以管理多个 Linux 系统的平台 ipv6 访问 docker 最优雅的姿势是啥? 私有化部署术语大家一般用 self-host(及其变种)还是 on-premise? 上线时需要将迭代期内的各种配置改动同步到生产环境,有没有好用的配置备忘录的工具? 有没有数据库 CICD 方面比较好的实践 Nexus Repository 3 权限管理思路, LDAP 集成与单点,助力 CI/CD 加速 sonarqube 与 gitlab 的账号单点认证与项目集成详解 如何设置 azure devops 上 创建的 pull request 在满足某些条件时, 自动能够完成合并到目标分支 jenkins pipeline 如何在 stage3 错误的时候,返回 stage2 重新执行 4 位硬科技创始人对谈 DevOps 硬件实战 jenkins 如何在一个任务中创建多个构建触发器,并且每个构建触发器对应的步骤是不同的 Unity 单元测试和 Gitlab 自动化集成示例 怎么做好运维 Windows Server 如何做 CI/CD?
内部做一个新的环境,在更新生产环境前先把生产服务等先在这个服务上过一遍,确认没问题后再上生产,这个环境叫什么环境?这种流程叫什么流程?
chaoyebugao · 2025-10-16 · via DevOps

这是一个创建于 240 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

leehaoze98

1

leehaoze98      2025 年 10 月 16 日

预发布环境/沙盒环境,会和线上连同一个数据库之类的,在请求里携带特殊 Cookie 之类的,线上域名的流量会转发到这个环境,然后 PM 和 QA 走查

shakaraka

2

shakaraka      2025 年 10 月 16 日   ❤️ 1

sit -> uat -> prod

yolee599

4

yolee599      2025 年 10 月 16 日 via Android

预发布环境

itechify

7

itechify      2025 年 10 月 16 日   ❤️ 2

不通场景不同叫法,挺多的,团队内达成共识吧
Staging 预发布环境
Canary 灰度
Pre-production 准生产
UAT 验收测试

chaoyebugao

10

chaoyebugao      2025 年 10 月 16 日

这种环境弄起来对我们来说可能太复杂了,因为我们有很多数据流,还有第三方服务。这个环境按我理解知识要发版前才会有,发版过后就销毁了,但要维护一整套环境成本也是个问题,从前端 Web 、K8s 、持久化存储都要多一套环境。也就是说,这种环境,从 env 子域名、Web 发布静态文件、K8s 集群、Redis 、数据库等都要有一套独立的?当要迭代时从生产 Copy 过来,然后发布到此环境,发布生产后销毁此环境

ZARRO

11

ZARRO      2025 年 10 月 16 日 via Android

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

ccpp132

14

ccpp132      2025 年 10 月 16 日

你想稳就先测试环境 QA ,没问题再预发布环境给内部用户用一阵子,再灰度升级线上机器

layxy

17

layxy      2025 年 10 月 16 日

预发环境或者灰度环境

KagurazakaNyaa

18

KagurazakaNyaa      2025 年 10 月 16 日

我们一般把这个叫 stag 环境,dev->stag->prod
development 是内网的多套环境,用来即时测试,非 stable 标签的镜像不会进入 stag
staging 是一套用于测试的环境,和 prod 完全同构,stable 镜像必须先发布到 stag 才能发布到 prod
production 就是生产环境了,镜像来自 stag 环境

cloudzhou

19

cloudzhou      2025 年 10 月 16 日

@ZARRO 预发布环境就是要接近线上到这一步,和发布就一步之差了,甚至我们之前预发布,其实也是线上的一部分
所以,预发布反而就是需要完全的线上环境,否则就失去意义了

反而这折射出你们预发布滥用了
好的预发布,就是线上环境,通过路由等手段进行发布前真实流量校验,才达到降低风险的目的

我以前设计过一套方案,在线上环境下,慢慢灰度指定的服务,可以控制到百分比,甚至可以慢慢灰度一天

cctv6

20

cctv6      2025 年 10 月 16 日

我们以前是叫预发布环境。这个环境数据库用的也是生产的数据库,但是正式的请求不会被访问到这些实例上。有时候会通过手动控制上层的网关,把一部分请求转发到这个环境上,在紧急的时候会直接把客户端的请求转发到这个环境中。等运行一段时间后,确定没有内存泄漏、程序异常后,再把预发布的镜像全量更新到生产环境上。这么做的目的其实就是验证上生产的镜像是不是正常的,以及新更新的接口有没有问题。

ZARRO

21

ZARRO      2025 年 10 月 16 日 via Android

@cloudzhou 是的,这说明你们工程管理很优秀。但楼主的问题就是工程管理问题,所以我认为预发布环境不是解决楼主问题的关键。
如果功能可以在预发布环境回归验证,那么就可以在线上环境回归验证。如果不好验证,或者影响面很大、需要灰度,那开发的时候做灰度逻辑,而不是依赖环境。预发布环境优点是数据真实,且不受未发布的功能影响。

ZARRO

23

ZARRO      2025 年 10 月 16 日 via Android

@cloudzhou (不小心点了回复) 但是缺点是由于共享 db 导致无论如何都无法保证不影响线上数据。由于公司各个服务调用链路比较复杂,一时无法解决,而影响线上数据又是无法忍受的,所以就下线了预发布环境。取而代之的是加强对测试环境的管理。不受未发布的功能影响→任何需求都通过泳道发布互不影响(也就是一个需求一个环境,但共享测试环境数据库),只有当天要上线的需求由 qa 合到测试环境进行回归(在此之前先在泳道验收),然后每天自动将 master 分支发到测试环境。数据真实→qa 自动化测试用例。
至于配置相关的内容则是通过发布计划、金丝雀发布去解决的

ZARRO

24

ZARRO      2025 年 10 月 16 日 via Android

@chaoyebugao 是的,最终决定把数据库也隔离了,也就是变成了测试环境。

levelworm

26

levelworm      2025 年 10 月 16 日 via iPhone

preprd? 反正别和 pre 混在一块就行了。

chaoyebugao

28

chaoyebugao      2025 年 10 月 16 日

@ZARRO 但测试环境是长期存在的,对应 develop 分支,长期隔离的话和生产环境并不完全一致,数据量和代码上都不同,因为 Git Flow 的话生产对应的 master 或 release 分支

kaneg

29

kaneg      2025 年 10 月 16 日 via iPhone

我们叫预览环境,数据库每次升级代码前从生产环境克隆。

flmn

30

flmn      2025 年 10 月 16 日

stg

meiyiliya

31

meiyiliya      2025 年 10 月 16 日

我们是 dev -> beta -> preview -> online
开发只能操作 dev ,提测后由测试同学自动化打包到 beta ,上线当天再由测试自动化打包到 preview ,不过 preview 和 online 用的同数据库,所以这天大部分情况下测试都只会在该环境验证数据的查询操作,基本上只要不涉及到生产环境数据的增删改外都可以验证,没问题后再由运维发到 online 。

gefranks

32

gefranks      2025 年 10 月 16 日

尽可能模仿生产环境的叫 stage(staging)环境.验证产线包的基本功能和配置,归类于生产环境的一部分, 只是基本上不会把外部用户放到这个环境上, 走上生产环境的流程.有问题的话就是 hotfix+批斗会伺候.

eudore

33

eudore      2025 年 10 月 17 日

预发 dev->test->pre->prod

pobo

34

pobo      2025 年 10 月 17 日

这个叫预发环境或准生产环境,稍微大点的公司一般都有

kenshin912

35

kenshin912      2025 年 10 月 17 日

Pre-Production 吧
我们是 Develop -> Test -> Pre-Production -> UAT -> Production

jimrok

36

jimrok      2025 年 10 月 17 日

应该有专门的运维管这个 staging 环境,会从生产拿备份恢复这个 staging ,然后验证升级后的功能,通过后代码打标签,确认发布。然后发布到生产。验证工作一般有写好的自动化测试代码验证核心功能。

sharpy

37

sharpy      2025 年 10 月 17 日

moni beta prod

skymei

38

skymei      2025 年 10 月 17 日

我们就有这个环境,叫 canary 灰度,和 prod 公用数据,但是仅内部访问,发布验证所用。

ZzzWatch

39

ZzzWatch      2025 年 10 月 17 日

sit-> uat -> pp -> prod ,pp 准生产,与生产环境数据一致

BestPix

40

BestPix      2025 年 10 月 17 日

dev-release-prod

leehaoze98

41

leehaoze98      2025 年 10 月 17 日

@chaoyebugao 从线上剥离一台机器或者一个小集群,域名、各类中间件都是相同的,一个不对外提供服务的线上环境,一直在线上活着,只是没有流量而已。如果是微服务的形态,会通过流量染色把回归人员的流量转发到本次上线服务的预发布版本,量很大的服务还会有金丝雀发布,流量是一点点分配到新版本上的

走到这一步已经是在上线流程中了,再点下一步就是单台单边单集群推全量正式上线了,预发布是最后一道防线,在预发布回滚是很严重的事故。

COW

43

COW      2025 年 10 月 17 日

我们是逻辑上分离内部用户出来,都是一个生产环境,前面有一个集成测试环境。

i0error

44

i0error      2025 年 10 月 17 日

仿真。
dev test pre sim gray prod stable 我司😅

vaynecv

45

vaynecv      2025 年 10 月 17 日

预发环境/Pre

sslyxhz

47

sslyxhz      2025 年 10 月 17 日

dev->test->staging->prod

不过都逐步去掉 staging 了

whoosy

48

whoosy      2025 年 10 月 17 日

预发布

realpg

49

realpg      2025 年 10 月 18 日

@ZARRO #11
共用数据库不代表使用的账户是公共真实客户的账户
我们搞这个, 都是公司内部员工账户使用

预发布一定是跟线上一模一样的环境 用来发现只有发布到线上环境才可能出现的问题
显然你们这是把一个不应该预发布的版本弄到了预发布的版本上

去掉了预发布这一步, 你们这种用法直接会导致生产环境重大事故