Jenkins 构建指标采集与导出插件
本插件用于采集 Jenkins Job 及其构建历史的详细指标信息,支持定时与手动采集,并以文本格式对外暴露,便于监控、分析与集成。
- 支持采集所有 Job 的构建历史、状态、参数、结果、触发人等信息
- 指标数据可通过 REST API 导出,支持 Prometheus 等系统采集
- 支持异步定时采集与手动触发采集
- 采集窗口、命名空间等参数可全局配置
- 完善的权限校验与安全控制
- 代码结构现代化,注释规范,单元测试覆盖
- 支持 SonarQube 静态代码扫描
- Jenkins 2.501+
- JDK 17
- Maven 3.6+
make runmake package生成的插件包位于 target/*.hpi。
- 进入 Jenkins 管理后台 → 插件管理 → 高级 → 上传插件
- 选择
target/*.hpi文件上传并重启 Jenkins
- 插件支持全局配置(路径、命名空间、采集周期、采集窗口等)
- 可在 Jenkins 系统管理 → 系统配置 → Build Metrics 配置项中设置
- 指标数据接口:
/your_plugin_url/metrics(具体路径可在全局配置中自定义) - 支持 GET 方式访问,返回文本格式指标数据
- 支持手动采集接口
/your_plugin_url/collect,需管理员权限或 API Token
- 使用 JUnit 5 + Mockito,测试代码位于
src/test/java/ - 运行测试:
make test- 推荐使用 Jenkinsfile 进行自动化构建、归档、邮件通知等
- 示例流水线见
Jenkinsfile
- 推荐使用 Jenkinsfile.sonar 进行 SonarQube 扫描
- 需在 Jenkins 全局工具配置中设置 jdk17 和 SonarQube 服务器
- 插件无法加载? 请确认 Jenkins 版本、JDK 版本与依赖环境一致
- API 无法访问? 检查权限配置与 Jenkins 全局安全设置
- 采集数据不全? 检查采集窗口、命名空间等配置项
欢迎提交 Issue、PR 或建议!
- Fork 本仓库
- 新建分支进行开发
- 提交 Pull Request
- 作者:mingsha
- 邮箱:[email protected]
- GitHub: 项目主页
本项目遵循 MIT 许可证,欢迎自由使用与二次开发。