环境、云服务、DNS、部署、CI/CD 与回滚
理解代码如何安全地从开发环境走向用户。
- 用自己的话解释“环境、云服务、DNS、部署、CI/CD 与回滚”及其核心术语。
- 在真实 AI 产品场景中识别何时应该使用本课方法。
- 完成一份可沉淀进“系统关系图、一次 API 调用与基础 SQL 练习”阶段任务的实践产出。
REAL SCENE
先从一个真实场景开始
功能在开发环境正常,部署到生产后却因域名配置、环境变量和数据库版本不同而失败。团队没有预发布验收,也没有功能开关;新版本一上线就覆盖全部用户。理解环境、DNS、部署和 CI/CD,才能把“开发完成”变成“可安全交付”。
PLAIN EXPLANATION
说人话:它到底是什么?
开发、测试、预发布和生产环境服务于不同目的,数据和权限应隔离。域名通过 DNS 指向入口,云服务提供计算、网络和存储。部署把经过构建的确定版本运行到目标环境,CI/CD 自动执行检查、构建和发布步骤。安全发布需要配置管理、迁移顺序、健康检查、灰度、监控和回滚;回滚不是临时按钮,而是上线前验证的计划。
环境与配置隔离
代码可相同,但域名、密钥、数据库和外部账号按环境配置。测试数据不能混入生产,生产个人数据也不能随意复制到测试;配置缺失应在启动或部署阶段立即失败。
- 密钥由受控系统注入
- 环境名称和风险清晰可见
- 外部回调地址逐环境登记
构建与部署流水线
CI 在每次变更执行静态检查、测试和构建,产出不可变制品;CD 把同一制品逐步推广到环境。人工审批放在高风险节点,而非靠口头记忆执行命令。
- 失败步骤阻止继续发布
- 制品与源码 commit 可追溯
- 迁移和应用发布顺序明确
灰度、健康与回滚
新版本可先给内部或小比例用户,通过健康检查和关键指标确认后扩大。功能开关把代码部署与功能开放分离。超过错误、延迟或业务阈值时自动停止并执行预案。
- 回滚前确认数据库兼容
- DNS 变更考虑缓存时间
- 发布后持续观察而非立即散会
环境、数据、账号和密钥严格隔离,配置显式管理。
同一可追溯制品经过自动检查逐环境推广。
发布预先定义灰度、健康阈值、停止条件与可执行回滚。
KEY POINT
这节课最重要的结论
- 为什么重要
- 这决定了听懂工程语言、阅读接口和数据库方案,并判断技术取舍时,团队是否拥有一致、可验证的判断标准。
- 适用边界
- 当问题目标、数据来源或失败成本发生变化时,不要机械套用;先重新确认假设和风险等级。
EXAMPLES
正确案例与常见反例
提交触发检查、测试与构建,生成绑定 commit 的制品;先部署预发布,用脱敏数据完成验收。生产先开放给员工和 5% 用户,监控登录成功率与生成延迟;超过阈值自动关闭功能开关,应用版本可回滚且数据库仍向后兼容。
工程师从个人电脑复制最新文件到生产,手工修改服务器配置;测试和生产共用数据库与第三方密钥。数据库先做破坏性变更,没有备份和兼容层;全量上线后错误飙升,却不知道上一个可用版本。
“发布制品需绑定 commit 并在预发布完成同一套冒烟。生产配置从密钥系统注入,不复制测试数据。先 5% 灰度,健康阈值为错误率和 p95 延迟;功能开关、应用回滚与数据库兼容方案请在发布单列明。”
HANDS-ON
必做实操任务
本节产出:“系统关系图、一次 API 调用与基础 SQL 练习”阶段任务中的《环境、云服务、DNS、部署、CI/CD 与回滚》一页实践卡
步骤 1画出开发、测试、预发布和生产环境的代码、数据、账号与域名隔离。
步骤 2为一次提交设计检查、测试、构建、制品和部署的 CI/CD 流水线。
步骤 3制定内部、5%、25%、100% 灰度步骤与每一步观察指标。
步骤 4模拟数据库不兼容,分别设计功能关闭、应用回滚和数据恢复。
实践结果会自动保存在本机,并进入项目工坊的任务来源。
版本与 commit:____
环境矩阵:开发____ 测试____ 预发布____ 生产____
配置与密钥来源:____
数据迁移步骤:____
CI 检查:____ 测试:____ 构建制品:____
预发布验收:____
灰度:内部____ 5%____ 25%____ 100%____
健康指标:错误率____ p95____ 业务成功率____
观察时长与停止阈值:____
功能开关:____
应用回滚版本:____
数据库兼容/恢复:____
DNS 或回调变更:____
发布负责人和通知:____CHECKLIST
产品经理工作检查表
MASTERY QUIZ
掌握测验
达到 60% 即可完成本课。
INTERVIEW
常见面试题
展开参考回答
先保证环境和配置隔离,CI 完成检查、测试、构建并产生绑定 commit 的不可变制品;预发布使用代表性数据验收。生产按内部到小比例灰度,观察错误率、延迟和业务成功率,设置功能开关和停止阈值。发布前验证应用回滚、数据库向后兼容、DNS 影响与通知责任,发布后持续监控。
RECAP & FURTHER READING
重点回顾、延伸阅读与下一步
- 1
围绕“环境、云服务、DNS、部署、CI/CD 与回滚”继续阅读:查阅对应技术的官方入门文档,重点核对输入输出、失败方式、权限边界与可观测性。
- 2
用“CI/CD、DNS、回滚”作为检索词,分别写下一条定义、一条适用边界和一个反例。
- 3
对照本课正确案例与反例,寻找一个公开案例并记录其中可复用的判断与不能照搬的条件。