用途
post-deploy 是自主部署流水线的第三阶段(stage 3),用于在合并后执行基于文件匹配的部署后动作。它由 deployed 标签触发,读取 PR 的变更文件,将其与配置的模式进行匹配,并运行针对性动作。
主要能力
- 由 deployed 标签通过 event-rules 触发(在 deployment-checker 确认上线部署之后)。
- 支持手动调用:/post-deploy PR_NUMBER org/repo。
- 去重门控:若已存在 post-deploy 评论,则直接以成功状态退出。
- 读取 PR 上下文:编号、标题、URL、变更文件、合并提交、基础分支。
- 读取团队 CLAUDE.md 中的 post_deploy 规则,将文件 glob 模式映射到动作。
- 支持的动作类型:ecr-rebuild(重建 Docker 镜像并推送到 ECR)、config-reload-verify(验证进程/网关已重载更新后的配置)、executor-verify(抽查执行器或脚本行为)、smoke-test(运行团队定义的冒烟测试)、custom(将 command 字段作为 shell 命令运行)。
- 使用 fnmatch 将变更文件与规则模式匹配,收集触发的动作。
- 执行每个触发的动作并记录结果。
- 发布汇总评论,包含动作、匹配文件与结果的表格。
- 写入报告文件到 reports 目录。
使用方式
触发方式:
- 由 deployed 标签通过 event-rules 自动触发。
- 手动:/post-deploy PR_NUMBER org/repo,例如 /post-deploy 42 fellowship-dev/pylot。
运行步骤:
- Step 0:去重门控,检查是否已有 post-deploy 评论。
- Step 1:读取 PR 上下文。
- Step 2:读取团队 post-deploy 配置(CLAUDE.md 中的 post_deploy 规则)。
- Step 3:将文件匹配到动作。
- Step 4:执行动作。
- Step 5:发布汇总评论。
- Step 6:写入报告。
默认文件匹配规则(Pylot):
- Dockerfile* → ecr-rebuild(Docker 镜像变更时)
- docker-entrypoint.sh → ecr-rebuild(入口脚本变更时)
- crew.yml → config-reload-verify(Crew 配置变更时)
- event-rules.yml → config-reload-verify(事件路由变更时)
- scripts/*.sh → executor-verify(Shell 脚本变更时)
- dispatch.sh → executor-verify(调度逻辑变更时)
- executor.sh → executor-verify(执行器逻辑变更时)
适用场景
- 合并后需要根据变更文件自动执行部署后验证与动作的团队。
- 使用 ECR 镜像、需要配置重载验证、执行器抽查或冒烟测试的部署流程。
- 支持 monorepo:若团队有多个部署目标,可按每个目标的规则匹配文件。
限制
- 无匹配规则则不执行任何动作。仅修改 Markdown 文件的 PR 不会触发动作,这是正确行为。
- 可选动作(smoke-test)会运行,但不影响汇总判定。
- ecr-rebuild 失败应作为评论呈现,但不会重新应用 deploy-failed——部署本身已验证,应改为提交后续 issue。
- 团队配置是权威来源。通用技能 + 团队 CLAUDE.md 可实现完整可配置性,而无需修改技能。
- 具体收费、价格、平台支持等信息暂未提供。