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

发布于 更新于
本文目录
  1. SonarQube Scanner安装和配置
  2. 1. 下载SonarQube Scanner
  3. 2. 配置环境变量
  4. 3. 在SonarQube Server中创建项目
  5. 4. 配置要分析的项目
  6. 5. 执行分析

技术文章测试开发

SonarQube 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页面,填写项目名:

image20240920105642123.png

创建令牌:

image20240920105727207.png

将令牌复制过来:

image20240920105804176.png

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命令即可开始分析项目:

image20240920110249709.png

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

image20240920110429492.png

来源:testingpai

继续阅读