IDD 部署
读取 references/idd-core.md 和 assets/release-report-template.md。优先使用仓库自带的发布自动化;项目已有部署命令时不得自行编造。
确认范围
检查发布说明、CI/CD、manifest、环境、迁移、健康检查、可观测性和当前状态。确认并复述:
- 环境:
local、dev、staging、production或具名自定义目标; - 策略:
dry-run、standard、rolling、blue-green、canary或rollback; - 不可变的源 revision、受影响服务和相关 IDD 变更;
- 回滚目标,以及是否授权自动回滚;
- 线上版本、健康、smoke、promotion 和失败信号。
外部目标或回滚行为仍不明确时询问用户。
预检
- 确认工作树和 revision,不得静默部署未提交状态。
- 拒绝存在未解决 critical IDD 漂移的部署。
- 运行必需的测试、lint、类型检查和构建。失败时停止,不得弱化检查门槛。
- 验证配置,但不得打印 secret 值。
- 验证迁移与新旧应用 revision 均保持兼容。
- 定义 promotion、观察、失败和回滚标准。
- 编写
.idd/releases/<release-id>/plan.md。
dry-run 在非修改性验证后停止。执行 production 部署、破坏性迁移、公开流量变更或回滚前,展示精确目标、revision、服务、操作、停机影响、回滚方案和风险。除非当前请求已经明确授权该操作,否则必须获得针对该操作的授权;不得将 staging 授权扩大到 production,也不得将部署授权扩大为回滚授权。
部署并验证
- 执行已批准路径并记录平台 revision。
- 观察渐进发布的每一步,超过失败阈值时停止。
- 证明新 revision 正在承载流量。
- 运行深度 readiness 和业务 smoke 检查,再观察预先定义的日志和指标,不得暴露敏感数据。
- 失败时只遵循已批准的回滚策略;未授权回滚时保留证据并停止。
- 线上验证成功后,编写
report.md;仓库存在部署状态文档时同步更新。
退出码为 0 不等于线上验证成功。目标环境确认精确 revision 和必需行为之前,不得宣称已部署、健康、已发布或已回滚。