质量管理工具SonarQube

1. 安装说明

1.1 下载两个

  • SonarQube 服务器:显示源代码分析结果的服务器软件
    安装社区版:https://www.sonarqube.org/downloads/
  • SonarQube 扫描器:用于分析源代码的工具

Windows 64-bit:https://docs.sonarqube.org/latest/analysis/scan/sonarscanner/

1.2 解冻

在 C:\ 下创建一个名为"sonarqube"的目录,并将其解压缩到下载的两个目录下。
C:\sonarqube\sonarqube-8.6.1.40680
C:\sonarqube\sonar-scanner-4.5.0.2216-windows

1.3 设置环境变量

  1. 启动"控制面板",然后单击"系统→安全"→"系统高级设置"→"环境变量"。

  2. 选择系统环境变量的"路径",然后单击"编辑"。

3.点击"新建",设定刚才解压的SonarQube的Server和Scanner的路径。

  • Server:"C:\sonarqube\sonarqube-8.6.1.40680\bin\windows-x86-64"
  • Scanner:"C:\sonarqube\sonar-scanner-4.5.0.2216-windows\bin"

1.4 动作确认

  1. 启动命令提示符。
    2.输入"startSonar.bat"进行执行。

3.访问http://localhost:9000/ 并确认启动。 如果您看到类似于下图的屏幕,则成功。
如果要停止服务器,可以通过在命令提示符处按 Ctrl+C 来停止它。
初始用户/密码:admin/admin

需要修改初始密码


2.使用方法(Java时)

2.1 创建和设置项目

  1. 启动命令提示符,运行"startSonar .bat"以启动 SonarQube 服务器(如果已启动,则不需要)

  2. 单击屏幕右上角的登录以登录。
    Login:admin
    Password:admin

  3. 单击"Create new project"。 如果没有"Create new project",请单击画面右上角的+标记,选择"Manually"。

4.输入Project key和Display name。 内容可以是任意的(signon、sales等),但要记住以后使用。

5.输入token,点击"Generate"。 内容可以是任意的,但请记住,生成后的令牌将在以后使用。 Generate后,单击 Continue。

  1. 由于将显示类似于下图的屏幕,因此选择"Java"和"Gradle",设置已完成。
  1. 在要分析的源的build.gradle的plugins中追加"id "org.sonarqube" version "2.7"。

8.build.gradle在同一目录中创建"sonar-project.properties",记述如下。
现在,您已完成设置。

sonar.projectName=[项目名称]
sonar.projectKey=[项目密钥]
sonar.projectVersion=1.0
sonar.sources=。
sonar.java.binaries=.

项目名称和项目键描述在项 4 中创建的内容。


2.2 代码解析

  1. 单独启动命令提示符。 此外,如果您尚未启动 SonarQube 服务器,请启动它。

  2. 转到要分析的源的根目录(包含 sonar-project.properties 的目录)。

  3. 运行以下命令进行分析。

sonar-scanner

^ -Dsonar.projectKey=[项目键]
^ -Dsonar.sources=。 -Dsonar.host.url= http://localhost:9000

^ -Dsonar.login=[令牌]

项目密钥描述在项目 2.1 中的 4 中创建的项目密钥。
令牌描述在项目 2.1 中的 5 中创建的内容。

如果显示"EXECUTION SUCCESS",则成功。

示例
sonar-scanner -Dsonar.projectKey=signon -Dsonar.sources=. -Dsonar.host.url=http://localhost:9000 -Dsonar.login=77e84f7d3de9ea0c6909294cfb8541b66cf75aa6

如果成功,http://localhost:9000/访问并创建的项目,将显示类似于下图的屏幕。

  1. 上图的蓝色数字是评论的数量,单击以查看评论。


单击评论以了解更多信息。 「Why is this an issue?」 还显示解决方案。

  1. 由于无法读取 lombok,因此不需要与 lombok 相关的审阅。 如下图所述,Remove this unused... 是显示的内容。
    但是,Remove this unused... 显示的所有内容都不一定与 lombok 相关,因此需要确认。
  1. 支持审阅后,请再次运行项目 3 中的命令,以确保没有审阅。

3.使用方法(C#时)

如果尚未安装 Java (JDK),请安装它,然后再继续。

3.1 JAVA_HOME设置

如果环境变量具有以下设置,则不需要此步骤: 请跳到"3.2 创建和设置项目"。

变量名称:JAVA_HOME
变量值:[JDK 安装位置]

• 确保变量值中未指定 bin(如果设置了类似于下图的变量,则没有问题)

  1. 启动"控制面板",然后单击"系统→安全"→"系统高级设置"→"环境变量"。
  2. 单击"新建用户环境变量"
  1. 将变量名称设置为JAVA_HOME",将 JDK 安装到变量值,然后单击"确定"。

3.2 创建和设置项目

  1. 启动命令提示符,运行startSonar.bat"以启动SonarQube服务器(如果已启动,则不需要)

  2. 单击屏幕右上角的登录以登录。
    Login:admin
    Password:admin

  3. 单击"Create new project"或画面右上角的+标记,选择"Manually"。

  1. 输入 Project key 和 Display name。 内容可以是可选的(master等),但请稍后使用。
  1. 输入 token,然后单击"Generate"。 内容可以是任意的,但请记住,生成后的令牌将在以后使用。 Generate后,单击 Continue

此时-》token for master: dbe40ac79a8df19f50ff0182e03e20e9817c0909

  1. 屏幕如下图显示,因此"C# 或 VB。 NET"。

3.3 安装 SonarScanner for MSBuild

如果您已经安装了 SonarScanner for MSBuild,请跳到"分析 3.4 代码"。

  1. 项目设定完成后,显示"Download and unzip the Scanner for MSBuild",因此点击"Download"。
  1. 单击".NET Core 2.0+"下载SonarScanner for MSBuild。
  1. 将之前下载的内容解压缩到 C:\ 下的"sonarqube"目录中。
    C:\sonarqube\sonar-scanner-msbuild-5.0.4.24009-netcoreapp2.0

  2. 启动"控制面板",然后单击"系统→"和"系统→"和"系统→""环境变量"。

  3. 选择系统环境变量的 Path,然后单击"编辑"。

  4. 单击"新建",键入路径,然后单击"确定"。
    ·C:\sonarqube\sonar-scanner-msbuild-5.0.4.24009-netcoreapp2.0\sonar-scanner-4.4.0.2170\bin
    ([SonarScanner for MSBuild的安装目的地]\bin)

  1. 启动命令提示符,键入并运行"dotnet tool install --global dotnet-sonarscanner --version 4.8.0"。

3.4 分析代码

  1. 单独启动命令提示符。 此外,如果您尚未启动 SonarQube 服务器,请启动它。

  2. 转到要分析的代码.sln目录(包含代码的目录)。

  3. 运行以下命令

dotnet sonarscanner begin ^

/k:[项目密钥] /n:[项目名称] /v:"1.0" /d:sonar.host.url="http://localhost:9000"|/d:sonar.login=[令牌]

项目键和项目名称描述在项目 3.1 中的 4 中输入的内容。
令牌描述在项目 3.1 中的 5 中创建的内容。

示例
dotnet sonarscanner begin /k:"master" /n:"master" /v:"1.0" /d:sonar.host.url="http://localhost:9000"/d:sonar.login="dbe40ac79a8df19f50ff0182e03e20e9817c0909"

master>dotnet sonarscanner begin /k:"master" /n:"master" /v:"1.0"  /d:sonar.host.url="http://localhost:9000" /d:sonar.login="dbe40ac79a8df19f50ff0182e03e20e9817c0909"
SonarScanner for MSBuild 4.8
Using the .NET Core version of the Scanner for MSBuild
Pre-processing started.
Preparing working directories...
12:29:20.603  Updating build integration targets...
12:29:20.622  Fetching analysis configuration settings...
12:29:21.292  Provisioning analyzer assemblies for cs...
12:29:21.293  Installing required Roslyn analyzers...
12:29:21.581  Provisioning analyzer assemblies for vbnet...
12:29:21.582  Installing required Roslyn analyzers...
12:29:21.607  Pre-processing succeeded.
  1. 接下来是"dotnet build ." 并运行它。 "生成成功。 没有问题,如果显示。
master>dotnet build .
用于 .NET 的 Microsoft (R) 生成引擎版本 16.8.3+39993bd9d
版权所有(C) Microsoft Corporation。保留所有权利。

  正在确定要还原的项目…
....
    15 个警告
    0 个错误

已用时间 00:00:11.30
  1. 最后,运行以下命令。
master>dotnet sonarscanner end /d:sonar.login="dbe40ac79a8df19f50ff0182e03e20e9817c0909"
SonarScanner for MSBuild 4.8
Using the .NET Core version of the Scanner for MSBuild
Post-processing started.
....
WARN: This may lead to missing/broken features in SonarQube
INFO: CPD Executor 5 files had no CPD blocks
INFO: CPD Executor Calculating CPD for 48 files
INFO: CPD Executor CPD calculation finished (done) | time=55ms
INFO: Analysis report generated in 130ms, dir size=415 KB
INFO: Analysis report compressed in 384ms, zip size=178 KB
INFO: Analysis report uploaded in 40ms
INFO: ANALYSIS SUCCESSFUL, you can browse http://localhost:9000/dashboard?id=master
INFO: Note that you will be able to access the updated dashboard once the server has processed the submitted analysis report
INFO: More about the report processing at http://localhost:9000/api/ce/task?id=AXeE27fnOLnc-t1OZ2HP
INFO: Analysis total time: 5.290 s
INFO: ------------------------------------------------------------------------
INFO: EXECUTION SUCCESS
INFO: ------------------------------------------------------------------------
INFO: Total time: 7.695s
INFO: Final Memory: 8M/68M
INFO: ------------------------------------------------------------------------
The SonarQube Scanner has finished
12:35:28.235  Post-processing succeeded.

如果成功,http://localhost:9000/访问并创建的项目,将显示类似于下图的屏幕。

  1. 上图的蓝色数字是评论的数量,单击以查看评论。

单击评论以了解更多信息。 「Why is this an issue?」 还显示解决方案。

  1. 支持审阅后,请再次运行项目 3、4 和 5 中的命令,以确保没有审阅。

你可能感兴趣的:(质量管理工具SonarQube)