jenkinsciinfra/plugin-health-scoringJenkins插件健康评分系统Docker镜像提供了一个便捷的方式来部署和运行Jenkins插件健康评分工具。该系统是2022年Google Summer of Code (GSOC)项目的一部分,旨在通过自动化评估插件质量和健康状况,提升Jenkins生态系统的整体质量。
bashdocker run -it jenkins-infra/plugin-health-scoring:latest
bashdocker run -it jenkins-infra/plugin-health-scoring:latest --plugin <plugin-id>
bashdocker run -v $(pwd):/reports -it jenkins-infra/plugin-health-scoring:latest --plugin <plugin-id> --format html --output /reports/health-report.html
| 参数 | 描述 |
|---|---|
--plugin | 指定要评估的插件ID |
--version | 指定插件版本(可选) |
--format | 输出格式,支持json和html |
--output | 输出文件路径 |
--config | 自定义配置文件路径 |
--verbose | 启用详细日志模式 |
| 环境变量 | 描述 | 默认值 |
|---|---|---|
PLUGIN_HEALTH_DB_URL | 数据库连接URL | 内存数据库 |
PLUGIN_HEALTH_DB_USER | 数据库用户名 | sa |
PLUGIN_HEALTH_DB_PASSWORD | 数据库密码 | 空 |
PLUGIN_HEALTH_CACHE_TTL | 缓存生存时间(秒) | 3600 |
JENKINS_UPDATE_CENTER_URL | Jenkins更新中心URL | 官方更新中心 |
yamlversion: '3' services: plugin-health-scoring: image: jenkins-infra/plugin-health-scoring:latest volumes: - ./reports:/reports - ./config:/config environment: - PLUGIN_HEALTH_DB_URL=jdbc:h2:/data/plugin-health - PLUGIN_HEALTH_CACHE_TTL=86400 command: --config /config/config.yaml --output /reports/weekly-report.html
可以通过挂载自定义配置文件来修改评分规则:
bashdocker run -v $(pwd)/custom-rules.yaml:/config.yaml -it jenkins-infra/plugin-health-scoring:latest --config /config.yaml --plugin my-plugin
配置文件格式详情请参见项目GitHub仓库文档。
为了保存评分历史数据,建议挂载数据卷:
bashdocker run -v plugin-health-data:/app/data -it jenkins-infra/plugin-health-scoring:latest
在CI/CD流程中使用插件健康评分:
bashdocker run --rm -v $(pwd):/workspace jenkins-infra/plugin-health-scoring:latest \ --plugin my-plugin \ --format json \ --output /workspace/plugin-health-report.json # 检查评分是否达到最低要求 python -c "import json; report = json.load(open('plugin-health-report.json')); exit(1) if report['score'] < 70 else exit(0)"

manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务