构建失败分析插件

一款Jenkins插件,利用AI技术自动分析构建失败原因,生成详细的根本原因分析报告,并支持创建Jira工单和发送邮件通知。

  • by PrabhaharanNM
  • Go
  • 本地部署
  • 更新于
在 GitHub 查看 PrabhaharanNM/jenkins-mcp-agent

使用说明

MCP代理:基于AI的构建失败分析

一个使用AI自动分析构建失败的Jenkins插件(Claude通过AWS Bedrock)。它并行运行4个MCP代理,从Jenkins、BitBucket、Kubernetes和JFrog收集上下文,然后生成全面的根本原因分析报告。

建筑

混合Java+Go设计:

  • Java层 (约500行):用于UI、配置和子流程管理的瘦Jenkins插件包装器
  • 去二进制 (约3000行):用于AI处理、并行MCP代理和报告生成的高性能核心
Jenkins Build Fails
       │
       ▼
Java Plugin (post-build action)
       │
       ▼ subprocess call
Go Binary
  ├── Fetch console logs
  ├── Parse errors, stages, repos
  ├── Run 4 MCP agents in parallel:
  │   ├── Jenkins  (stages, agent metrics)
  │   ├── BitBucket (commits, CODEOWNERS)
  │   ├── Kubernetes (pods, OOM, events)
  │   └── JFrog (artifact availability)
  ├── Cross-correlate findings
  ├── Claude AI analysis (AWS Bedrock)
  ├── Generate HTML report
  ├── Create Jira ticket (async)
  └── Send email notification (async)

演出

度量 值
内存 每次分析20-30MB
启动 <100毫秒
分析时间 8-20秒
并行分析 10+
插件大小 ~40 MB(所有平台)

安装

  1. 下载 mcp-agent.hpi 从释放
  2. 首选 管理 Jenkins -> 管理插件 -> 高级
  3. 上传 .hpi “部署插件”下的文件
  4. 重新启动Jenkins

配置

首选 管理 Jenkins -> 配置系统 -> MCP代理 部分。

必需设置

  • AWS Bedrock:区域、型号ID、AWS配置文件(用于身份验证)
  • 比特桶:服务器URL、凭据
  • Jira:服务器URL、凭据、项目密钥

可选设置

  • Kubernetes:API服务器URL、身份验证令牌、命名空间
  • JFrog:人工URL、凭据
  • 电子邮件/SMTP:通知的邮件服务器设置
  • 团队映射:JSON将存储库名称映射到团队经理

团队映射示例

{
  "payments": {"name": "Payments Team Lead", "email": "payments-lead@example.com", "jiraUsername": "payments-lead"},
  "orders": {"name": "Orders Team Lead", "email": "orders-lead@example.com", "jiraUsername": "orders-lead"}
}

用法

申报管道

pipeline {
    agent any
    stages {
        stage('Build') {
            steps { sh 'mvn clean package' }
        }
    }
    post {
        failure {
            mcpAnalyze()
        }
    }
}

使用存储库配置

post {
    failure {
        mcpAnalyze(
            repositories: [
                [name: 'payments', workspace: 'myproject', branch: env.GIT_BRANCH],
                [name: 'orders', workspace: 'myproject', branch: env.GIT_BRANCH]
            ]
        )
    }
}

自由式项目

  1. 打开作业配置
  2. 添加构建后操作: MCP代理:基于AI的故障分析
  3. 可选配置存储库列表
  4. 保存

所得

当构建失败时:

  1. 控制台输出 显示分析ID和结果URL
  2. 侧边栏链接 “AI分析”出现在构建页面上
  3. 分析报告 与:
    • 故障类别和根本原因总结
    • 有证据的详细解释
    • 责任团队识别
    • 可采取的下一步行动
  4. Jira门票 创建并分配给责任团队
  5. 电子邮件通知 随HTML报告一起发送

从源头构建

先决条件

  • JDK 11+
  • Maven 3.8+
  • 转到1.21+

构建

# Build Go binaries for all platforms
cd go-binary
./build.sh

# Build Jenkins plugin
cd ..
mvn clean package

这 .hpi 文件将在 target/mcp-agent.hpi.

故障排除

  • “找不到Go二进制文件”:确保二进制文件在 src/main/resources/binaries/
  • 分析停留在“待定”状态:检查Jenkins系统日志中的Go二进制错误
  • AWS身份验证失败:验证AWS配置文件或实例角色配置
  • Jira票证未创建:检查全局配置中的Jira凭据和项目密钥

许可证

MIT许可证