Approval-gated DevOps

把自动化放在审批之间,而不是绕过审批。

Agent 可以把准备工作做到极致:读仓库、规划资源、验证候选、收集证据。生产所有权仍属于人,尤其是付费、数据库、DNS、邮件和正式流量。

审批式 DevOps 的四个设计原则

对象要准确

授权必须绑定具体项目、供应商、资源、环境和当前计划版本。不能把“允许部署测试环境”解释成“允许修改生产 DNS”。

影响要可见

批准前展示预计费用、数据风险、停机窗口、外部收件人、生产域名和回滚路径,而不是只显示一条内部命令。

授权要有时效

一次批准只适用于当前任务和当前对象。计划、Commit、资源或预算变化后,需要重新确认。

结果要能对账

动作前写 Intent,动作后写 Receipt。中断后先读取供应商事实,确定动作是否已经发生,再决定继续还是恢复。

哪些动作可以自动,哪些必须停下

动作默认策略批准前至少展示
只读分析仓库可自动执行仓库路径、Commit、读取范围
生成计划与预检可自动执行发现的问题、依赖、缺失配置
创建隔离候选资源按预算和 Sandbox Profile 执行供应商、资源类型、预计费用、清理方式
数据库迁移必须单独批准迁移版本、备份、锁表与回滚风险
正式 DNS 与生产切流必须单独批准域名、旧目标、新目标、传播与回滚
发送真实邮件必须单独批准收件人范围、模板、数量和发件域名
购买或升级付费资源必须单独批准供应商、价格、周期与取消方式
删除资源必须单独批准准确对象、依赖、备份与不可恢复影响
审批的单位是具体动作,不是 Agent 身份。“我信任这个 Agent”不等于“它可以在未来任何时间对任何生产资源执行任何操作”。

批准生产变更前,证据至少覆盖这些内容

  • 即将上线的准确 Git Commit 与构建产物摘要。
  • 候选环境是否通过真实页面、API 和关键消费者验证。
  • 数据库备份能否被识别,迁移版本与回滚命令是否明确。
  • DNS 旧值、新值、TTL、传播检查和恢复目标。
  • 第三方费用、配额、资源生命周期和清理责任。
  • 本次计划未包含哪些动作,避免用户把局部批准误解为完整上线。
  • 中断后如何对账,哪些动作可以安全重试,哪些必须先读取供应商事实。

关于从仓库分析到候选部署的整体过程,请阅读 AI 部署 Agent 指南

常见问题

为什么不能用一次授权完成所有部署动作?

不同动作的影响、费用和可恢复性不同。创建候选、迁移数据库、改正式 DNS 和发真实邮件不应共享模糊授权。

审批会不会让自动化失去意义?

不会。Agent 仍可自动完成分析、计划、预检、候选部署、证据收集和低风险操作,人工只在高影响决策点介入。

凭证如何避免进入日志与计划?

持久计划只保存 Secret Ref,真实值在执行时由受限解析器取得,不写进 Plan、Run、Receipt 或日志。