Deploy Skill 用于将代码部署到目标环境,并自动生成 CI/CD 流水线。其策略会根据项目级别(Starter/Dynamic/Enterprise)自适应调整。
用途
该技能面向需要将功能部署到不同环境(dev/staging/prod)的场景,通过 /pdca deploy 命令触发,并在部署完成后返回 PDCA Check 阶段。
使用方式
命令示例:
- /pdca deploy {feature} —— 部署到默认环境(dev)
- /pdca deploy {feature} --env dev —— 部署到 DEV
- /pdca deploy {feature} --env staging —— 部署到 STAGING(要求 DEV 匹配率 90% 以上)
- /pdca deploy {feature} --env prod —— 部署到 PROD(要求 STAGING 匹配率 95% 以上且人工审批)
- /pdca deploy status —— 显示部署状态机状态
基于级别的策略
- Starter:仅提供指南;环境为 dev;工具为 GitHub Pages、Netlify、Vercel。
- Dynamic:Docker + GHA;环境为 dev、staging;工具为 Docker Compose、GitHub Actions。
- Enterprise:6 层 CI/CD;环境为 dev、staging、prod;工具为 Terraform、EKS、ArgoCD、Canary。
部署流程
执行 /pdca deploy feature --env dev 后依次进行:
- 级别检测(Starter/Dynamic/Enterprise)
- 生成 CI/CD 文件(若不存在):.github/workflows/deploy.yml、Dockerfile(Dynamic/Enterprise)、docker-compose.yml(DEV)、k8s/ manifests(Enterprise)、terraform/(Enterprise)
- 部署状态机转换:init → dev → verify(90%) → staging → verify(95%) → approval → prod(canary) → complete
- 返回 PDCA Check 阶段
环境晋级门禁
- DEV → STAGING:匹配率 ≥ 90%,自动晋级。
- STAGING → PROD:匹配率 ≥ 95% 且人工审批,需要 /pdca deploy --env prod。
- PROD Canary:错误率低于阈值时自动放量 10% → 25% → 50% → 100%。
生成的文件
Starter:仅生成部署指南文档。
Dynamic:
- .github/workflows/deploy.yml —— Docker 构建 + 推送 + 部署
- Dockerfile —— 多阶段构建
- docker-compose.yml —— DEV 环境
- .env.example —— 环境变量模板
Enterprise(额外):
- infra/terraform/ —— AWS 基础设施
- infra/k8s/ —— Kubernetes manifests
- infra/argocd/ —— ArgoCD Application + Helm
- CI/CD 中的安全扫描步骤
回滚
命令:
- /pdca deploy rollback {feature} —— 回滚当前部署
- /pdca deploy rollback {feature} --env prod —— 回滚指定环境
回滚触发条件:
- 手动:/pdca deploy rollback 命令
- 自动:ops-metrics 检测到错误率飙升(阈值 > 5%)
- Canary 失败:Argo Rollouts 在指标失败时自动回滚
- 自愈升级:当自愈代理用尽 5 次迭代自动修复预算仍未恢复 SLO 时,触发 /pdca deploy rollback 作为最终补救
回滚会将部署状态机重置为 idle 并恢复上一版本。
自愈集成(v2.1.13)
自愈代理(linked-from-skills: deploy)闭合 deploy ⇄ recovery 循环:
- 检测:Sentry/Slack 错误模式匹配部署窗口,自愈代理通过 8 语言触发词(如“자동 수정”“auto fix”等)激活
- 诊断:加载 4 层 Living Context(Scenarios + Invariants + Impact + Incidents),识别部署引入的回归
- 自动修复:通过 Task 工具生成 code-analyzer + gap-detector,最多 5 次迭代循环并用场景运行器验证
- 验证:重新运行功能场景;通过则自动 PR,失败则升级
- 升级:迭代预算耗尽或关键不变量被违反时,触发 /pdca deploy rollback 并通知人工值班
调用路径:
- 隐式:Sentry webhook → 自愈代理(通过插件触发注册表)
- 显式:/pdca deploy rollback 会先检查是否存在活跃自愈会话并中止等待;用户可用 --force-rollback 强制绕过
自愈 → 部署契约由 lib/audit/audit-logger.js 的 ACTION_TYPES(rollback_executed、agent_completed、gate_failed)中介,确保所有转换符合审计追踪要求。
Hook 事件
- deploy-start:部署启动时,执行预验证
- deploy-complete:部署成功时,执行后通知
- deploy-failed:部署失败时,执行错误处理 + 回滚建议