SonarQube 完整手册(2026 最新)

目录

​编辑

[一、什么是 SonarQube](#一、什么是 SonarQube)

核心四大模块架构

[二、四大版本区别(2026 命名)](#二、四大版本区别(2026 命名))

[1. Community Build(社区版,免费开源)](#1. Community Build(社区版,免费开源))

[2. Developer Edition(开发者付费版)](#2. Developer Edition(开发者付费版))

[3. Enterprise Edition Edition(企业版,付费)](#3. Enterprise Edition Edition(企业版,付费))

[4. Data Center(数据中心版,付费)](#4. Data Center(数据中心版,付费))

[补充:SonarQube Cloud(SaaS 云服务)](#补充:SonarQube Cloud(SaaS 云服务))

三、核心功能

[1. 六大代码质量指标](#1. 六大代码质量指标)

[2. Quality Gate(质量门禁,核心管控)](#2. Quality Gate(质量门禁,核心管控))

[3. DevOps 全链路集成](#3. DevOps 全链路集成)

[4. 密钥泄露检测](#4. 密钥泄露检测)

[四、快速部署(Docker 推荐,CentOS7 / 通用)](#四、快速部署(Docker 推荐,CentOS7 / 通用))

前置要求

[1)Docker 一键启动(测试环境)](#1)Docker 一键启动(测试环境))

[2)PostgreSQL 外置数据库(生产标准)](#2)PostgreSQL 外置数据库(生产标准))

[五、代码扫描示例(Maven Java 项目)](#五、代码扫描示例(Maven Java 项目))

[方式 1:Maven 内置 Scanner(最常用)](#方式 1:Maven 内置 Scanner(最常用))

[方式 2:CLI Scanner(多语言通用)](#方式 2:CLI Scanner(多语言通用))

[六、主流版本 LTA 长期支持(2026)](#六、主流版本 LTA 长期支持(2026))

[七、常见运维 / 兼容问题(适配 CentOS7+PostgreSQL 升级场景)](#七、常见运维 / 兼容问题(适配 CentOS7+PostgreSQL 升级场景))

[八、配套工具 SonarLint](#八、配套工具 SonarLint)


一、什么是 SonarQube

静态代码分析(SAST)平台,核心作用:自动化代码质检、持续管控代码质量与安全漏洞,属于 DevOps 标准流水线工具。

  • 无需运行代码,扫描源码即可发现问题
  • 覆盖四大检测维度:Bug、安全漏洞、代码异味、重复代码、复杂度、技术债
  • 支持 Java/Go/Python/JS/TS/Docker/K8s/SQL 等 20 + 主流语言
  • 配套 SonarLint:IDE 本地实时检测(IDEA/Vscode/Eclipse 免费插件)

核心四大模块架构

  1. SonarQube Server(服务端)
    • Web 服务:可视化报表、质量门禁、规则配置、权限管理(默认端口 9000)
    • Compute Engine:解析扫描结果、计算指标、生成报告
    • Elasticsearch:全文检索代码问题
  2. 数据库:存储项目历史、规则、用户(官方推荐 PostgreSQL,不支持 MySQL 新版)
  3. Scanner 扫描器:客户端工具(Maven/Gradle/CLI/Jenkins 插件),本地扫描代码上传结果
  4. SonarLint:IDE 插件,开发时实时提示问题,提前拦截缺陷

二、四大版本区别(2026 命名)

1. Community Build(社区版,免费开源)

适合个人 / 小团队、内部测试

  • 支持 21 种主流语言(Java/Go/Python/JS/Docker 等)
  • 基础 Bug、漏洞、代码异味、密钥硬编码检测
  • 基础 CI 集成、单分支分析、基础质量门禁
  • 限制:无多分支 / PR 分析、无 C/C++/Swift、无污点安全分析、无企业报表、无商业支持

2. Developer Edition(开发者付费版)

中小研发团队 社区版全部能力 +

  • C/C++/Swift/Shell/PLSQL 等扩展语言
  • 分支、Pull Request MR 分析(流水线拦截合并)
  • AI 代码校验、污点注入漏洞深度检测(SQL 注入 / XSS)
  • 高级密钥泄露扫描

3. Enterprise Edition Edition(企业版,付费)

中大型企业合规、多项目治理 Developer 全部能力 +

  • 项目集大盘、全局质量管控、合规报告(NIST/OWASP)
  • 第三方工具 SARIF 报告导入(依赖扫描、漏洞工具)
  • 细粒度权限、审计日志、PDF 导出、自定义规则集

4. Data Center(数据中心版,付费)

大型集群、高可用生产环境 Enterprise 全部能力 +

  • 集群部署、负载均衡、故障自动切换
  • 横向扩容、海量代码库性能优化、7×24 付费技术支持

配套产品线改名:

  • SonarLint → SonarQube for IDE
  • SonarCloud(SaaS 云)→ SonarQube Cloud

补充:SonarQube Cloud(SaaS 云服务)

免自建服务器,托管云版本,分免费 / 团队 / 企业订阅,适合不想运维服务器的团队SonarQube。

三、核心功能

1. 六大代码质量指标

  • Bugs:运行时逻辑错误(空指针、数组越界、资源未关闭)
  • Vulnerabilities:安全漏洞(OWASP Top10、SQL 注入、XSS、命令注入)
  • Security Hotspots:风险代码段(需人工确认是否可利用)
  • Code Smells(代码异味):规范问题(命名混乱、冗余判断、超长方法、缺少注释)
  • Duplications:重复代码块,提升维护成本
  • Technical Debt(技术债):修复所有问题预估工时,用于团队量化质量

2. Quality Gate(质量门禁,核心管控)

自定义放行阈值,流水线不达标直接阻断发布,常用规则示例:

  • 新增代码 0 高危漏洞、0 阻断级 Bug
  • 单元测试覆盖率≥80%
  • 重复代码率<5%
  • 无新增密钥硬编码、无高危安全热点

3. DevOps 全链路集成

Jenkins/GitLab CI/GitHub Actions/Azure DevOps/Maven/Gradle,提交代码自动扫描,PR 失败直接禁止合并。

4. 密钥泄露检测

识别代码中硬编码密码、AK/SK、数据库账号,避免敏感信息提交仓库引发安全事故SonarQube。

四、快速部署(Docker 推荐,CentOS7 / 通用)

前置要求

  • JDK17(2025.4+ LTA 强制要求)
  • 内存≥4G,生产 8G+
  • 数据库:PostgreSQL 14+

1)Docker 一键启动(测试环境)

复制代码
# 拉取社区版镜像
docker pull sonarqube:latest
# 启动容器(关闭ES内存校验,单机测试)
docker run -d \
  --name sonarqube \
  -p 9000:9000 \
  -e SONAR_ES_BOOTSTRAP_CHECKS_DISABLE=true \
  -v sonar_data:/opt/sonarqube/data \
  -v sonar_extensions:/opt/sonarqube/extensions \
  sonarqube:latest

访问:http://服务器IP:9000 默认账号密码:admin / admin,首次登录强制改密码

2)PostgreSQL 外置数据库(生产标准)

  1. 创建库与用户

    CREATE DATABASE sonarqube ENCODING 'UTF8' LC_COLLATE 'en_US.utf8' LC_CTYPE 'en_US.utf8';
    CREATE USER sonar WITH PASSWORD 'Sonar@123456';
    GRANT ALL PRIVILEGES ON DATABASE sonarqube TO sonar;

  2. 容器挂载配置 sonar.properties 指定数据库连接参数

五、代码扫描示例(Maven Java 项目)

方式 1:Maven 内置 Scanner(最常用)

复制代码
# 本地扫描并上传至Sonar服务
mvn clean package sonar:sonar \
-Dsonar.host.url=http://127.0.0.1:9000 \
-Dsonar.login=你的项目Token

方式 2:CLI Scanner(多语言通用)

下载 sonar-scanner 二进制,执行:

复制代码
sonar-scanner \
  -Dsonar.projectKey=demo-java \
  -Dsonar.sources=./src \
  -Dsonar.host.url=http://127.0.0.1:9000 \
  -Dsonar.login=项目Token

六、主流版本 LTA 长期支持(2026)

  • 9.9 LTA:老稳定版,JDK11 兼容,CentOS7 低环境适配
  • 2025.4 LTA:当前主力长期版,JDK17,增强 SAST 安全、AI 代码校验、PostgreSQL 新版适配(你之前升级 PostgreSQL 配套推荐此版本)
  • 10.x:过渡版本,无长期支持,不建议生产使用

七、常见运维 / 兼容问题(适配 CentOS7+PostgreSQL 升级场景)

  1. ES 启动失败 :系统内核参数调整 vm.max_map_count=262144
  2. 数据库连接报错:社区版新版弃用 MySQL,必须使用 PostgreSQL
  3. PostgreSQL 版本兼容:2025.4 最低 PG14,升级 PG10→17 后需同步升级 Sonar 至 2025.4
  4. 扫描内存溢出 :调整 scanner JVM 参数 -Xmx2048m
  5. Jenkins 流水线阻断:Quality Gate 未通过会返回非 0 退出码,流水线直接失败

八、配套工具 SonarLint

IDE 本地插件,离线实时扫描:

  • 编码时标红漏洞、代码规范问题
  • 无需连接 Sonar 服务,提前修复,减少流水线阻塞
  • 免费,所有版本通用
相关推荐
汉堡包0011 小时前
【工具分享】--威胁情报平台大全
学习·安全·web安全·信息安全
Sirius Wu2 小时前
OpenClaw Model Provider(模型提供商)完整详解
服务器·网络·人工智能·安全·aigc
虹科网络安全2 小时前
“顶会”看安全(十六):深入分析函数内联及其对基于机器学习的二进制分析的安全影响
人工智能·安全·机器学习
RD_daoyi2 小时前
Google偷偷给AI引用加了五个新功能:内联引用、悬停预览、品牌展示……但点击率真的回来了吗?
大数据·网络·人工智能·算法·安全·搜索引擎
汽车仪器仪表相关领域3 小时前
CPX-900 电池和电气系统分析仪|高端汽修数字化智能诊断设备
功能测试·安全·压力测试·可用性测试
tedcloud1233 小时前
Orca 部署指南:开源 AI 推理服务的 Linux 部署实践
linux·运维·服务器·人工智能·开源·自动化·excel
狂师4 小时前
用自然语言控制手机,一条命令让 AI 帮你操作 Android 和 iOS 设备!
前端·开源·测试
ClouGence4 小时前
数据库为什么需要 SSL?一文了解 SSL 连接原理与配置
数据库·开源
GitCode官方4 小时前
开源鸿蒙跨平台直播| 快手KRN鸿蒙适配与性能优化
华为·开源·harmonyos·atomgit