首页/开发/CI/CD 与发布速查/临时环境(Ephemeral Environment)
环境与配置管理60 条

临时环境(Ephemeral Environment)

按需创建、用完销毁的环境:为集成测试、演示与评审提供隔离空间,创建与销毁都应自动化。

CI/CD 与发布速查开发更新于 2026-10-13

临时环境是什么

按需创建、用完销毁的环境:为集成测试、演示与 PR 评审提供隔离空间,创建与销毁都自动化,生命周期以小时计。核心价值是让「环境」从稀缺资源变成随手可得的工具,同时用 TTL 与兜底清理控制成本与残留,避免「临时」变「永久」。

基本信息

形态云账号/项目、K8s 命名空间、全栈预览环境
创建IaC/模板化:流水线按需拉起并登记
销毁设置 TTL 或事件触发清理,防止资源泄漏
命名包含 PR 号与短 SHA,便于追溯归属
数据种子或匿名化数据初始化,保证可重置

典型使用场景

  • PR 预览环境:评审时直接访问真实界面,省去本地搭建
  • 集成测试:每次运行独立环境,互不打架
  • 演示:临时给外部客户展示新功能
  • 压测:独立资源不挤占其他环境,跑完即释放
  • 培训与实验:每人一套,随用随扔,用完不欠债
  • 迁移演练:在临时环境预演真实切换流程

命名与清理

命名与清理
命名:pr-1234-<short-sha>
TTL:48 小时
清理:MR 关闭事件 + 每日兜底巡检
# 登记表:谁创建、用途、过期时间一条记录,便于对账

生成方式对照

方式机制成本
命名空间K8s namespace 隔离较低
全栈环境IaC 拉起整套服务较高
云账号账号级隔离最高
临时环境数据从种子/匿名化数据集初始化:保证可重置与合规。
权限同样要隔离:临时环境共用生产凭据会让隔离设计失效。
创建失败要可见:流水线上的失败要有告警,不然没人发现环境根本没起来。
形态尽量克隆生产:越接近生产越能暴露集成问题,差太远的预览环境只是心理安慰。

易错点

  • 只创建不回收:资源与成本失控,配置 TTL 与兜底清理任务
  • 临时环境共用生产域名/证书:相互影响且难追踪,独立命名与域名
  • 并发 PR 命名冲突:相互覆盖环境,命名带 PR 号与随机后缀
  • 清理只删计算不删数据:数据残留越滚越大,数据也要纳入销毁清单并定期抽查
  • 创建流程无超时上限:环境长期卡在半成品状态,加超时与失败回收,失败环境也要登记

数据来源与参考

  • Humble & Farley《Continuous Delivery》(测试环境策略)
  • Kubernetes 文档《Namespaces》
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌