素材阁

SonarQube 速查

共 25 条 SonarQube 代码质量用法,涵盖服务与项目、通用扫描器、与构建工具集成、质量门与规则、CI 与运维。 支持搜索与分类筛选,点击即可复制。

服务与项目

平台默认 9000 端口。

命令说明
Docker 启动服务
登录平台创建项目
为扫描生成认证令牌
扫描时提供令牌

通用扫描器

sonar-scanner 适配任意语言。

命令说明
命令行扫描
sonar-project.properties 配置
指定服务地址
排除文件
覆盖率排除与测试范围
容器化扫描(无需本地装)

与构建工具集成

Maven、Gradle、npm 等。

命令说明
Maven 项目扫描
Gradle 项目扫描
前端项目扫描
.NET 扫描流程
覆盖率需外部工具产出

质量门与规则

门禁与规则配置。

命令说明
一组阈值(如新代码覆盖率 ≥ 80%、无严重缺陷)
内置默认质量门
语言级规则集合,可自定义启用/停用
只对新增代码设门槛,避免历史债阻塞
问题分级

CI 与运维

流水线与维护。

命令说明
标准流程
官方 Action
门禁阻断合并
运维注意
分支与 PR 支持

使用说明

SonarQube 速查:服务与项目、通用扫描器、与构建工具集成、质量门与规则、CI 与运维;支持搜索与分类筛选,点击即可复制。

  1. 按用途点分类:服务与项目、通用扫描器、与构建工具集成、质量门与规则、CI 与运维。
  2. 点「命令」列复制到终端或配置。
  3. 先用 Docker 起服务、创建项目拿 token,再在项目里跑扫描。
  4. 把扫描接进 CI,并对新代码设质量门,逐步降低历史债。

常见问题

覆盖率为什么一直是 0?
SonarQube 不自己跑测试;需先用测试工具(jacoco、lcov、coverage.py 等)产出覆盖率报告,再让扫描读取该报告路径。
质量门该拦在哪些代码上?
建议只对"新代码"设门槛,避免历史遗留问题一次性把流水线全堵死;再逐步清理历史债。
需要联网吗?
速查内容本地可用;下载镜像与依赖需联网。

延伸阅读

相关工具