SonarQube学习笔记三:直接使用sonar-scanner扫描器

目录

  • 1.安装Sanner扫描器
  • 2.环境变量配置
  • 3.创建项目
    • 3.1 登录并创建项目
    • 3.2 输入项目名称信息
    • 3.3 选择分析仓库类型
    • 3.4 创建令牌
    • 3.5 保存令牌(非必须)
    • 3.6 选择构建技术方案
      • 3.6.1 .Net类项目
      • 3.6.2 Java类项目
    • 3.7 获取Sonar检查结果
    • 3.8 在页面查看检查结果或者下载检查报告。
    • 3.9 Bug清单,点击可以查看该bug详细信息。
    • 3.10 bug优化建议

如果不采用自动化方式执行代码扫描。可以在本机安装Sonar Sanner扫描器,手动启动扫描。不过我不推荐这种做法,有Jenkins自动化跑的话是没有必要手动操作的。

1.安装Sanner扫描器

下载地址:
.Net类项目:
https://docs.sonarsource.com/sonarqube/9.9/analyzing-source-code/scanners/sonarscanner-for-dotnet/
其它类型项目请查阅:
Analyzing source code overview (sonarqube.org)

2.环境变量配置

以.Net为例,可执行文件的目录添加到 %PATH% 环境变量中。
SonarQube学习笔记三:直接使用sonar-scanner扫描器_第1张图片

在命令行输入:SonarScanner.MSBuild.exe,显示如下说明环境变量配置成功。
SonarQube学习笔记三:直接使用sonar-scanner扫描器_第2张图片

Scanner安装目录下修改SonarQube.Analysis.xml。添加url和token属性(token可以在完成创建令牌后再填入)。
SonarQube学习笔记三:直接使用sonar-scanner扫描器_第3张图片

3.创建项目

3.1 登录并创建项目

登录sonar首页,顶部菜单点击“项目”,然后在页面右上角点击“创建项目”,选择“手工”方式。
SonarQube学习笔记三:直接使用sonar-scanner扫描器_第4张图片

3.2 输入项目名称信息

输入显示名、标识和主分支,主分支默认是main,可以和自己仓库的分支名称保持一直。
SonarQube学习笔记三:直接使用sonar-scanner扫描器_第5张图片

3.3 选择分析仓库类型

选择“本地”。
SonarQube学习笔记三:直接使用sonar-scanner扫描器_第6张图片

3.4 创建令牌

选择“永不过期”,点击“创建”按钮。
SonarQube学习笔记三:直接使用sonar-scanner扫描器_第7张图片

3.5 保存令牌(非必须)

可以将令牌保存在本地(非必须),然后点击继续。
SonarQube学习笔记三:直接使用sonar-scanner扫描器_第8张图片

3.6 选择构建技术方案

根据自己的项目类型选择对应的构建技术方案。当你点击技术方案后,会直接给出运行命令,不同类型项目命令不同,复制到本机cmd窗口直接执行。

3.6.1 .Net类项目

如果您使用的是.NET Framework版本的扫描仪,则需要.NET Framework v4.6或更高版本。要使SonarQube的商业版本受益于安全分析,您需要.NET Framework v4.7.2或更高版本。
用于编译.NET扫描程序(.NET Framework、.NET Core或.NET)的flavor与生成要分析的项目时使用的.NET版本无关。具体来说,您可以使用.NET Framework版本的扫描程序来分析.NET Core代码。它只与您的操作系统和您的构建计算机上安装的.NET SDK版本有关。

以.Net Core项目举例说明操作方法:
SonarQube学习笔记三:直接使用sonar-scanner扫描器_第9张图片
如果是.Net Core需要安装工具,Framework的扫描器是SonarScanner.MSBuild.exe不通过该命令行方式安装:

dotnet tool install --global dotnet-sonarscanner

如果安装sonar成功,命令行显示如下:
SonarQube学习笔记三:直接使用sonar-scanner扫描器_第10张图片

dotnet sonarscanner begin /k:"-TEST" /d:sonar.host.url="http://192.10.50.55:9000"  /d:sonar.login="sqp_dc547e66c23228d82dd3c15ba7ed5e78c700c815"

dotnet build

dotnet sonarscanner end /d:sonar.login="sqp_dc547e66c23228d82dd3c15ba7ed5e78c700c815"

3.6.2 Java类项目

SonarQube学习笔记三:直接使用sonar-scanner扫描器_第11张图片

3.7 获取Sonar检查结果

在项目列表找到自己的项目,面板首页可以看到部分主要指标信息,点击项目名称可以进入详情页面。
SonarQube学习笔记三:直接使用sonar-scanner扫描器_第12张图片

3.8 在页面查看检查结果或者下载检查报告。

SonarQube学习笔记三:直接使用sonar-scanner扫描器_第13张图片

3.9 Bug清单,点击可以查看该bug详细信息。

SonarQube学习笔记三:直接使用sonar-scanner扫描器_第14张图片

3.10 bug优化建议

在bug详细信息界面查看问题的位置和原因,sonar工具对于部分bug会给出优化改进建议,目前建议信息不支持中文。

SonarQube学习笔记三:直接使用sonar-scanner扫描器_第15张图片

你可能感兴趣的:(Devops,sonar,sonarqube)