Repolode
SonarSource

SonarSource/sonarqube

自托管的代码质量与安全平台,扫描项目中的缺陷、漏洞和可维护性问题,并可在 CI 流程中设置质量门禁。

可替代:CodacyCoverity

Star
11,087
Fork
2,236
未关闭 Issue
1
最近提交
前天

这是什么?

SonarQube 是一个静态分析平台,用于检查源代码中的缺陷、安全漏洞、安全热点和结构性问题,并说明问题原因与修复方法。分析结果通过 Web 仪表盘展示,也可在 IDE、Pull Request 和 CI 流程中查看。

本仓库是免费开源的 SonarQube Community Build 版本的源码。它关注新代码的质量,并通过质量门禁(通过/失败的检查)在变更合并前统一执行标准。社区版支持的语言数量少于商业版。

项目使用 Java 编写,通过 Gradle 构建,需要 Java 21。构建后可得到发行包,并可在 Linux、macOS 和 Windows 上通过自带脚本启动服务。

核心功能

  • 01检测源代码中的缺陷、可靠性问题和安全漏洞。
  • 02标记影响代码可维护性和结构的问题。
  • 03在 Pull Request 和流水线中对新代码执行质量门禁。
  • 04为每个问题说明风险原因并给出修复建议。
  • 05以自托管服务器形式运行,提供 Web 仪表盘。

适用场景

  • 在 CI 流水线中加入自动化的代码质量与安全检查。
  • 在自托管服务器上跟踪团队多个代码仓库的质量趋势。
  • 在合并前审查 Pull Request 中的新代码。

快速上手

  1. 1

    使用 Gradle 构建项目(需要 Java 21 和 Git)

    ./gradlew build
  2. 2

    解压 sonar-application/build/distributions/ 中的发行包,并在 Linux 上启动服务器

    bin/linux-x86-64/sonar.sh start

使用前须知

  • 从源码构建需要 Java 21 和本地 Git。
  • 社区版支持的语言少于商业版。
  • SonarSource 以外的功能贡献通常不被接受,一般只合并小修复。

标签

常见问题

sonarqube 是什么?
自托管的代码质量与安全平台,扫描项目中的缺陷、漏洞和可维护性问题,并可在 CI 流程中设置质量门禁。 SonarQube 是一个静态分析平台,用于检查源代码中的缺陷、安全漏洞、安全热点和结构性问题,并说明问题原因与修复方法。分析结果通过 Web 仪表盘展示,也可在 IDE、Pull Request 和 CI 流程中查看。
sonarqube 可以免费使用吗?用的什么许可证?
sonarqube 以 LGPL-3.0 许可证开源。用于商业产品前,请先确认许可证条款。
sonarqube 还在维护吗?
活跃维护中。sonarqube 最近一次提交是在 2026年10月17日。
sonarqube 适合用来做什么?
在 CI 流水线中加入自动化的代码质量与安全检查。 在自托管服务器上跟踪团队多个代码仓库的质量趋势。 在合并前审查 Pull Request 中的新代码。
sonarqube 怎么安装和运行?
使用 Gradle 构建项目(需要 Java 21 和 Git): ./gradlew build 解压 sonar-application/build/distributions/ 中的发行包,并在 Linux 上启动服务器: bin/linux-x86-64/sonar.sh start
在哪里获取 sonarqube?
源代码和安装说明在 GitHub 上:https://github.com/SonarSource/sonarqube

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目