
目录
[1、官方基线要求(SonarQube 9.9 LTS 文档)](#1、官方基线要求(SonarQube 9.9 LTS 文档))
[2、插件 ↔ Jenkins 最低版本对照表(生产推荐)](#2、插件 ↔ Jenkins 最低版本对照表(生产推荐))
[3、生产环境推荐组合(实测稳定 sonarqube:9.9.8-community)](#3、生产环境推荐组合(实测稳定 sonarqube:9.9.8-community))
[方案 A(稳妥,大多数企业在用)](#方案 A(稳妥,大多数企业在用))
[方案 B(较新 Jenkins)](#方案 B(较新 Jenkins))
[4、运行时 Java 硬性约束(极易踩坑)](#4、运行时 Java 硬性约束(极易踩坑))
先理清一个关键点: SonarQube Server(9.9.8)本身没有强制绑定某一个 Jenkins 大版本;真正约束兼容性的是 Jenkins 里的【SonarQube Scanner Plugin(sonar)】
1、官方基线要求(SonarQube 9.9 LTS 文档)
SonarQube 9.9 要求 Jenkins 插件 SonarQube Scanner Plugin ≥ 2.11 插件和 SonarQube 9.9.8 完全互通,不存在服务端版本阻断,只要插件版本达标即可通信。
2、插件 ↔ Jenkins 最低版本对照表(生产推荐)
| SonarQube Scanner Plugin | 要求最低 Jenkins 版本 | 是否适配 SonarQube 9.9.8 |
|---|---|---|
| 2.17.x(稳定推荐) | 2.346.1 | ✅ 完美兼容 |
| 2.18.x(新版插件) | 2.479.3 | ✅ 兼容,但 Jenkins 要求更高 |
⚠️ 重要:不要盲目升级插件 如果你现有 Jenkins < 2.479.3,最高只能装
2.17.3,不能装最新 2.18.x,否则插件安装失败。
3、生产环境推荐组合(实测稳定 sonarqube:9.9.8-community)
方案 A(稳妥,大多数企业在用)
- Jenkins:2.387.3 LTS(推荐首选) / 2.361.4 LTS
- SonarQube Scanner Plugin:2.17.3
- 配套 scanner-cli ≥4.8
方案 B(较新 Jenkins)
- Jenkins ≥ 2.479.3
- SonarQube Scanner Plugin:2.18.2 同样可以对接 9.9.8
4、运行时 Java 硬性约束(极易踩坑)
- SonarQube 9.9.8 服务端:必须 Java 17
- Jenkins 控制器
- Jenkins 2.387 LTS:支持 Java11 / Java17
- Jenkins ≥2.426:官方不再支持 Java11,必须 Java17
- Agent 执行扫描任务 SonarScanner CLI /maven sonar 插件执行分析:最低 Java11,推荐 Java17
常见报错:Jenkins 控制器 Java11,升级 Jenkins 到 2.426 + 直接启动失败。
5、集成注意事项
- 9.9 已经废弃旧账号密码认证,统一使用 sonar-token,Jenkins 配置凭据选择「Secret text」填入 token;
- 流水线
waitForQualityGate()依赖该插件,2.11 以下插件不支持; - SonarQube 需要配置 Webhook 回调 Jenkins 地址,用于质量门异步通知;
- 不要使用非常老旧 Jenkins(<2.300),即便能装上 2.11 插件,流水线 API、安全补丁缺失,生产不建议。
最简结论
✅ 最优生产组合:Jenkins 2.387.3 LTS + SonarQube Scanner Plugin 2.17.3 + sonarqube:9.9.8-community