代码质量管理 SonarScanner 扫描分析实战

SonarScanner 是一个静态代码分析工具,支持多种编程语言(如 Java、JavaScript、C++ 等)。它能够自动检测代码中的潜在问题,如代码异味、漏洞、安全问题、重复代码等。使用 Sonar Scanner,你可以对项目代码进行深度扫描,生成分析报告,并将结果发送到 SonarQube 服务器。

SonarQube Scanner 是用来分析代码并将结果提交到 SonarQube 服务器的工具,支持多种语言和不同的项目构建工具:

  • 命令行工具

    下载 SonarQube Scanner 命令行工具并配置环境变量。这是最通用的 SonarQube Scanner,适用于各种构建工具之外的项目,或者没有与 SonarQube 原生集成的情况。它可以通过命令行直接运行,适用于多语言项目的分析。

  • 构建工具插件

    在 Maven、Gradle 、Ant 项目中可以直接集成 SonarQube Scanner 插件,如:

    <!-- Maven 中配置 SonarQube 插件 --><build>  <plugins>    <plugin>      <groupId>org.sonarsource.scanner.maven</groupId>      <artifactId>sonar-maven-plugin</artifactId>      <version>3.9.1.2184</version>    </plugin>  </plugins>

  • CI平台插件

    Jenkins 可以通过 SonarQube 插件直接集成代码质量扫描任务。适合持续集成(CI)/持续交付(CD)流水线中自动化运行 SonarQube 分析。

接下来以通用性的Sonar Scanner为例讲解如何使用

SonarQube Scanner安装和配置

1. 下载SonarQube Scanner

Sonar下载地址:https://binaries.sonarsource.com/?prefix=Distribution/sonar-scanner-cli/

根据自己的系统平台选择对应的版本,这里由于我是win机器,选择的是sonar-scanner-4.8.0.2856-windows

下载完毕之后将其解压到本地的某个目录下

2. 配置环境变量

将 Sonar Scanner 的 bin 目录添加到系统的 PATH 环境变量中,以便你可以从命令行直接运行 sonar-scanner

  • 新建SONNAR_SANNER_HOME环境变量,对应值填写sonar-scanner-4.8.0.2856-windows所在路径

  • %SONNAR_SANNER_HOME%\bin加入到PATH环境变量中

  • 验证安装,在命令行终端输入命令: sonar-scanner --version

3. 在SonarQube Server中创建项目

打开SonarQube Server的web页面,填写项目名:

图片

创建令牌:

图片

将令牌复制过来:

图片

4. 配置要分析的项目

进入到要分析的项目的根目录下,创建sonar-project.properties配置文件,填写如下配置:

 # 项目标识 sonar.projectKey=lemon_code_sonar # 默认和项目标识保持一致 sonar.projectName=lemon_code_sonar # 项目版本号 sonar.projectVersion=1.0 # 项目扫描路径,默认.代表当前目录下所有的代码文件 sonar.sources=. # 源码编码格式 sonar.sourceEncoding=UTF-8 # 创建项目生成的令牌 sonar.login=295bff591e2b6336929165e3da953f43407991ca

5. 执行分析

打开命令行终端,进入到当前目录下,执行sonar-scanner命令即可开始分析项目:

图片

最终会在SonarQube Server页面上显示分析结果:

图片

软件测试学习资料扫下方码即可领取

图片

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值