功能

部署验证

通过分析日志、代码变更并生成可执行修复建议,自动诊断部署失败。

部署验证是 Castrel 的一项强大能力,它可以自动识别部署失败并即时给出根因分析,让你不再需要在多个工具之间来回翻日志和代码变更。

什么是部署验证?

部署验证是一套由 AI 驱动的部署失败诊断系统,它通过 GitHub Webhook 自动监控你的 CI/CD 流水线。当部署失败时,Castrel 会自动:

  • 识别部署工具(例如 Vercel)
  • 拉取并分析部署日志
  • 将错误与代码变更做关联
  • 生成结构化诊断报告,并给出可执行的修复建议

这会把原本通常需要 15 到 30 分钟的手动排查过程,缩短为 2 到 5 分钟的自动化诊断。

如何使用部署验证

步骤 1:连接 GitHub 仓库

配置 GitHub Webhook 集成,以便自动检测部署事件:

  1. 在 Castrel 中进入 Integrations > GitHub
  2. 授权 Castrel 访问你的仓库
  3. 为需要监控的仓库启用部署事件 webhook

详细配置请在 Castrel 中的 GitHub 集成页面完成。

步骤 2:连接部署平台

为你的部署平台授权 MCP 工具:

  1. 在 Castrel 中进入 Integrations
  2. 连接你的部署平台(例如 Vercel)
  3. 授予读取日志所需的权限

如果部署失败时缺少授权,Castrel 会提示你先完成相关配置,再继续做诊断。

步骤 3:接收诊断报告

当部署失败时,Castrel 会自动分析并输出一份包含以下内容的诊断报告:

  1. 错误摘要:错误类型、位置、消息以及严重级别
  2. 问题代码:触发失败的具体代码片段,并附带语法高亮
  3. 根因分析:将错误信息与代码变更关联起来,解释错误为什么发生
  4. 修复建议:可直接复制使用的具体代码示例
  5. 相关文件:本次变更中可能需要关注的文件列表

步骤 4:修复并重新部署

根据诊断报告:

  1. 查看根因分析,理解问题来源
  2. 复制建议修复代码,或按你的方式修复
  3. 提交并推送修复
  4. 如有需要,Castrel 还可以继续跟踪后续部署,验证修复是否生效

你也可以提供反馈(Helpful / Not Helpful),帮助 Castrel 持续改进诊断准确率。

Castrel 如何验证部署

Castrel 会按以下流程系统性诊断每一次部署失败:

1. 检测部署事件

当 GitHub 发来部署失败 webhook 后,Castrel 会自动:

  • 校验 webhook 签名,确保安全
  • 提取关键元数据(仓库、部署 ID、commit SHA、分支)
  • 创建异步诊断任务

2. 识别部署工具

Castrel 会通过多种信号智能识别你使用的部署工具:

  • Bot 登录名:例如 vercel[bot]
  • 仓库主页 URL:例如包含 vercel.app
  • 部署状态 URL:根据目标 URL 模式识别
  • 仓库配置:例如是否存在 .vercel/project.json

3. 获取日志并分析错误

通过 MCP 工具,Castrel 会:

  • 拉取完整的部署构建日志
  • 使用 AI 识别日志中的错误模式
  • 对错误做分类(编译、依赖、配置、运行时等)
  • 判断错误严重程度,以及是否可以忽略

4. 关联代码变更

Castrel 会通过 GitHub MCP 拉取 commit diff,并:

  • 将错误位置(文件名、行号)与变更文件匹配
  • 分析代码改动与错误之间的因果关系
  • 找出具体是哪几行代码引入了问题

5. 生成报告

最后,Castrel 会生成结构化诊断报告,包括:

  • 明确的错误识别与分类
  • 把错误与具体代码变更对应起来的根因分析
  • 带示例代码的可执行修复建议

提升效果的小建议

建议说明
把相关工具都接上同时授权 GitHub 和部署平台(如 Vercel),才能拿到完整诊断信息
覆盖所有仓库为所有需要监控的仓库配置 webhook,避免部署失败漏检
持续提供反馈为诊断报告打分,帮助 Castrel 逐步提高准确率

常见问题