亚马逊AWS官方博客

AWS DevOps Agent 与 GitHub 集成实践:如何实现从代码变更到故障调查的端到端闭环

摘要:本文将分享如何将 AWS DevOps Agent 与 GitHub 深度集成,构建一个从代码提交、CI/CD 部署到 事件自动调查的端到端闭环。通过配置 GitHub Webhook,当部署失败时事件会自动触发 DevOps Agent 调查,Agent 会自动关联代码变更、部署历史和运行时数据,快速定位根因并给出缓解建议。


一、场景概述

在现代 DevOps 实践中,代码变更是导致生产事件的最常见原因之一。当 CI/CD 流水线部署失败或新版本引发线上异常时,运维团队需要在多个系统之间来回切换——查看 GitHub 最近谁提交了什么、查看基础设施及业务系统监控指标及日志异常、检查部署流水线哪一步出了问题——这个过程往往耗时数小时,且高度依赖个人经验及多团队协作。

本文将分享如何将 AWS DevOps Agent 与 GitHub 深度集成,构建一个从代码提交、CI/CD 部署到 事件自动调查的端到端闭环。通过配置 GitHub Webhook,当部署失败时事件会自动触发 DevOps Agent 调查,Agent 会自动关联代码变更、部署历史和运行时数据,快速定位根因并给出缓解建议。

二、什么是 AWS DevOps Agent

AWS DevOps Agent 是 AWS 提供的面向运维场景的 Frontier Agent(前沿代理),用于在现有监控、代码仓库、部署流水线和 AWS 运行资源基础上,开展事件调查、根因分析、缓解建议生成和预防性改进建议输出。

它并非传统意义上的监控系统,也并非代码托管或 CI/CD 工具。其主要作用是在既有的监控、代码仓库、CI/CD、运行资源和运维流程基础之上,建立事件调查与运维辅助分析能力,用于提升故障排查效率、缩短恢复时间并推动后续优化。

通过 AWS DevOps Agent,您可以:

  • 自动关联代码变更、部署历史和运行时指标,快速定位事件根因
  • 通过自然语言 Chat 与 Agent 交互,引导调查方向
  • 获取结构化的缓解方案(Mitigation Plan),可直接交给开发者或 Kiro 执行
  • 基于历史事件模式,获取可观测性、基础设施、部署管道和应用弹性四大领域的改进建议

三、业务痛点

某互联网公司运营一个基于 AWS 的旅行相册应用(Travel-Album-Site),采用 GitHub + GitHub Actions 进行代码管理和 CI/CD 部署。随着业务迭代加速,团队面临以下挑战:

  • 部署频率高,问题定位慢:团队每天多次部署,当新版本引发线上异常时,需要在 Github、CloudWatch、ECS 等多个系统间来回切换排查,平均故障定位时间超过 2 小时
  • 代码变更与运行时数据割裂:开发团队看代码,运维团队看监控,两边信息无法快速关联。”是不是最近那个 PR 导致的?”这个问题往往需要多人协作才能回答
  • 部署失败后缺乏自动化响应:GitHub Actions 部署失败后,只有一封邮件通知,没有自动化的调查和分析流程
  • 事后复盘流于形式:团队知道应该做 postmortem,但缺少系统化的数据支撑,复盘往往变成”下次注意”

四、解决方案

使用 AWS DevOps Agent 与 GitHub 集成,构建”代码变更 → CI/CD 部署 → 自动调查 → 缓解建议 → 预防改进”的端到端闭环:

4.1 架构

[图1]

4.2 实施步骤

4.2.1 Step 1:创建 Agent Space

Agent Space 是 AWS DevOps Agent 的逻辑工作空间,定义了 Agent 可访问的 AWS 账号、第三方工具和用户权限范围。

  1. 登录 AWS Management Console,进入 AWS DevOps Agent 控制台
  2. 选择创建新的 Agent Space
  3. 填写名称和描述。名称应体现应用或环境归属,例如 travel-album-site-prod
  4. 配置 AWS 资源访问角色(首次建议使用推荐方式自动创建)
  5. 启用 Web App 访问能力

[图2 Agent Space 创建页面]

创建完成后,确认 Agent Space 状态正常,进入数据源接入阶段。

4.2.2 Step 2:添加 GitHub

进入 Capability Providers 页面:

  1. 选择 Registration → Pipeline → GitHub,点击 “Register”
  2. 在 Register 页面,根据需要选择 GitHub 的接入方式(OAuth 授权)
  3. 选择需要接入的仓库并安装 Agent

[图3 如何选择GitHub 注册页面,并选择接入方式]

[图4 选择需要接入的 GitHub 仓库]

[图5 GitHub 添加完成]

4.2.3 Step 3:关联 GitHub 到 Agent Space

进入已创建的 Agent Space 详细页面:

  1. 进入 Capabilities → Pipeline 选项
  2. 点击 “add source”
  3. 在弹出窗口找到刚添加的 GitHub 仓库
  4. 点击 “add”,选择要关联的项目
  5. 点击 “save” 完成关联

[图6 Agent Space 中关联 GitHub 仓库]

[图7 选择要关联的项目-1]

[图8 选择要关联的项目-2]

4.2.4 Step 4:生成并配置 Webhook

这是实现”部署失败自动触发调查”的关键步骤。

进入 Agent Space 详细页面:

  1. 进入 Capabilities → Webhooks 选项
  2. 点击 “add”
  3. 根据提示生成并保存 Webhook URL 及 Secret

[图9 生成 Webhook URL 和 Secret-1]

[图10 生成 Webhook URL 和 Secret-2]

测试 Webhook 连通性:

curl -X POST <webhook_url> \
  -H "Content-Type: application/json" \
  -d '{"test": true}'

返回 "Webhook received" 说明 Webhook 可用。

[图11 Webhook 测试成功]

4.2.5 Step 5:修改 GitHub Actions Workflow

在 GitHub 仓库的 workflow 配置文件中添加以下配置,实现部署失败后自动触发 DevOps Agent 调查:

# .github/workflows/deploy.yml
name: Deploy

on:
  push:
    branches: [main]

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      # ... 你的部署步骤 ...

      - name: Trigger DevOps Agent Investigation on Failure
        if: failure()
        run: |
          curl -X POST "${{ secrets.DEVOPS_AGENT_WEBHOOK_URL }}" \
            -H "Content-Type: application/json" \
            -H "X-Webhook-Secret: ${{ secrets.DEVOPS_AGENT_WEBHOOK_SECRET }}" \
            -d '{
              "event": "deployment_failure",
              "repository": "${{ github.repository }}",
              "commit": "${{ github.sha }}",
              "branch": "${{ github.ref_name }}",
              "actor": "${{ github.actor }}",
              "run_url": "${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}"
            }'

[图12]

在 GitHub 仓库的 Settings → Secrets and variables → Actions 中配置:

  • DEVOPS_AGENT_WEBHOOK_URL:Step 4 中生成的 Webhook URL
  • DEVOPS_AGENT_WEBHOOK_SECRET:Step 4 中生成的 Secret

[图13 GitHub Actions Secrets 配置]

4.3 效果验证

4.3.1 场景:部署失败自动触发调查

开发者提交了一个有问题的代码变更,GitHub Actions 部署失败,Webhook 自动触发 DevOps Agent 调查。

4.3.2 启动 Web App

在 AWS 控制台进入 DevOps Agent,点击 Agent Space 的 “Admin access” 链接进入 Web App。

[图14 DevOps Agent Web App 主界面]

4.3.3 事件查询

在 Chat 对话窗口输入提示词,查询最近的代码变更和部署事件:

[图15 Chat 中查询 commit 事件的提示词]

[图16 Agent 返回的查询结果,展示最近的代码变更和部署状态-1]

[图17 Agent 返回的查询结果,展示最近的代码变更和部署状态-2]

4.3.4 查看自动触发的事件调查

由于在 GitHub Actions Workflow 中配置了部署失败自动触发 Webhook,Agent 已经自动启动了调查。

在 Web App 的”事件响应”页面可以查看调查事件:

[图18 事件响应列表页面]

4.3.5 查看调查过程

点击事件名称,可以查看完整的调查过程。Agent 的调查分为以下几个阶段:

阶段一:启动调查

Agent 接收到 Webhook 事件后,自动启动调查,识别关联的 GitHub 仓库和 AWS 资源。

[图19 Agent 调查启动阶段]

阶段二:读取相关数据

Agent 自动关联多个数据源:

  • GitHub:最近的 commit 记录、PR 变更、部署历史
  • CloudWatch:相关指标、日志和告警
  • ECS/Lambda:服务运行状态和资源拓扑

[图20 Agent 读取和关联多个数据源]

阶段三:调查发现

Agent 综合所有数据进行分析,形成根因假设:

  • 识别导致部署失败的具体代码变更
  • 分析变更对运行时指标的影响
  • 关联 CloudWatch 日志中的错误模式

[图21 Agent 的调查发现过程]

阶段四:给出根本原因

在根本原因页面,Agent 输出所有的根本原因和主要调查发现:

[图22 根本原因]

4.4 关键指标对比

通过实施 AWS DevOps Agent 与 GitHub 集成方案,运维指标得到显著改善:

指标 集成前 集成后 改善幅度
部署失败后平均响应时间 30 分钟(人工发现) < 1 分钟(自动触发) ↓ 97%
平均故障定位时间 2+ 小时 15-30 分钟 ↓ 75-87%
代码变更与运行时数据关联 人工跨系统查询 Agent 自动关联 全自动
事后复盘数据支撑 依赖人工记忆 Agent Journal 完整记录 全自动
预防性改进建议 无系统化输出 Agent 持续输出 从 0 到 1

4.5 经验总结

4.5.1 Agent Space 的划分策略

建议按应用 + 环境划分 Agent Space,例如 travel-album-site-prod。这样做的好处是:

  • 调查范围隔离,避免不同应用的资源混淆
  • 权限边界清晰,不同团队只能访问自己的 Agent Space
  • 拓扑图更聚焦,Agent 能更准确地理解资源关系

4.5.2 Webhook 配置的最佳实践

  • 只在部署失败时触发(if: failure()),避免不必要的调查消耗
  • 在 Webhook payload 中包含尽可能多的上下文(commit SHA、分支、触发者、run URL)
  • 保护好 Webhook Secret,使用 GitHub Actions Secrets 管理

4.5.3 充分利用 Chat 能力

Agent 的 Chat 是上下文感知的,在调查过程中可以:

  • 追问:”这个 commit 修改了哪些文件?”
  • 引导:”重点看一下数据库相关的变更”
  • 补充:”最近有一次配置变更,请关注”

4.5.4 循序渐进的集成路径

建议按以下顺序逐步集成:

  1. 先关联 AWS 账号,让 Agent 能看到 CloudWatch 和资源拓扑
  2. 再关联 GitHub,让 Agent 能看到代码变更和部署历史
  3. 最后配置 Webhook,实现部署失败自动触发调查
  4. 根据需要接入 Slack、ServiceNow 等协作工具
  5. 如有内部系统(CMDB、Runbook),通过 MCP Server 扩展

五、总结

通过将 AWS DevOps Agent 与 GitHub 深度集成,我们实现了从代码变更到 Incident 自动调查的端到端闭环。当 GitHub Actions 部署失败时,Webhook 自动触发 DevOps Agent 调查,Agent 自动关联代码变更、部署历史和运行时数据,在 15-30 分钟内完成根因分析并给出缓解建议——而此前这个过程需要 2 小时以上的人工排查。

更重要的是,这种集成模式是可复制的。一旦在一个项目上跑通,可以快速推广到其他项目——只需要创建新的 Agent Space、关联对应的 GitHub 仓库、配置 Webhook 即可。另外,随着调查历史的积累,Agent 的预防性建议也会越来越有针对性。

如果您的团队也在使用 GitHub + AWS 的技术栈,我们也建议您尝试这种集成方式。此外,AWS DevOps Agent 已经在 2026 年 3 月 31 日正式 GA,新客户还可以享受 2 个月的免费试用期,这也是您评估和体验此Agent的最佳时间。

➡️ 下一步行动:

相关产品:

相关文章:

六、参考资料

*前述特定亚马逊云科技生成式人工智能相关的服务目前在亚马逊云科技海外区域可用。亚马逊云科技中国区域相关云服务由西云数据和光环新网运营,具体信息以中国区域官网为准。

本篇作者

赵思洵

长虹佳华资深架构师,技术支持总监,深耕云计算行业解决方案及企业级解决方案落地。擅长运营商网络、云计算、云安全、云原生应用等方向。

黄明辉

长虹佳华资深售后云技术服务工程师,深耕20年IT领域,擅长云计算、容器化、云原生开发、AI技术应用等。负责云业务技术服务,包括解决方案、迁移与交付实施、云托管运维等服务。

罗辉朋

长虹佳华高级架构师,深耕20年IT领域,专注于企业IT系统应用和云服务技术,致力于优化企业级基础设施架构和提升运维效率。

冯磊

亚马逊云科技资深合作伙伴解决方案架构师,曾就职于Teradata、Oracle 等公司,具有20年企业级软件开发及架构设计经验,目前专注云计算、大数据、生成式 AI 等技术方向。


AWS 架构师中心:云端创新的引领者

探索 AWS 架构师中心,获取经实战验证的最佳实践与架构指南,助您高效构建安全、可靠的云上应用