SonarQube安装及分析.NET 5.0代码

发布时间 2023-10-31 16:11:38作者: 取个昵称显示已被使用

SonarQube安装及分析.NET 5.0代码

一、写在前面

在日常逛园子的时候发现了SonarQube 这个代码质量管理平台,感觉挺有意思的所以决定自己捣鼓一下,使用方法大多来源网上本文章只是记录一下使用过程。

二、下载安装

1.官网下载地址:https://www.sonarsource.com/products/sonarqube/downloads/

本来是下载的最新版本捣鼓了一整发现始终打不开,后来百度到SonarQube 7.9开始需要Java 11且不支持mysql了,所以全部删除后下载7.8版本

SonarQube 7.8下载地址:https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-7.8.zip也可以把7.8改成想要的版本进行下载

2.下载完成后移动到自己的目录并解压,我存放的位置D:\Program Files\sonarqube

3.解压文件后进入文件的bin目录会看到很多对应系统的文件夹,本文使用win64系统进行演示的所以直接进入D:\Program Files\sonarqube\sonarqube-7.8\bin\windows-x86-64目录点击StartSonar.bat文件,然后在浏览器输入http://localhost:9000,能正常进入页面说明安装成功

4.然后关闭程序,这里需要在任务管理器进程里关闭,关闭控制台进程还在

image-20231031141737166

三、汉化

由于低版本SonarQube自带的插件商店没有对应的汉化版本,这里我们自己下载汉化插件。

下载地址:https://github.com/xuhuisheng/sonar-l10n-zh/releases,下载下方的jar包即可(注意对应版本)

image-20231030161300734

下载完成之后,我们将这个jar包放入SonarQube的安装目录下的extensions\plugins文件夹中即可。

附论坛下载地址:https://files.cnblogs.com/files/blogs/804227/SonarQube7.8%E6%B1%89%E5%8C%96.rar?t=1698653721&download=true

四、创建SonarQube数据库

由于SonarQube默认使用的内嵌数据库H2,这种不适应于生产环境,所以我们替换成mysql数据库,首先创建一个名为sonarqube的数据库,然后在SonarQube的配置文件conf\sonar.properties中添加如下配置:

# 数据库连接信息
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonarqube?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false
sonar.jdbc.username=root
sonar.jdbc.password=root
sonar.sorceEncoding=UTF-8
# SonarQube的web页面登录信息
sonar.login=admin
sonar.password=admin

image-20231030162254473

至此,SobarQube的配置基本完成,我们再次进入目录点击StartSonar.bat文件,然后在浏览器输入http://localhost:9000,配置数据库后启动会等待一段时间慢慢等就行

五、准备阶段

1.配置MSBuild环境变量,如果安装了Visual Studio就不需要单独安装,列vs2022路径为:C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Current\Bin在Path下添加路径

image-20231031134352587

配置好环境变量后,需要重启下电脑,然后在控制台直接输入msbuild -ver 出现下面信息标识配置完成

image-20231031134836254

2.安装 dontnet scanner

dotnet tool install --global dotnet-sonarscanner --version 5.14.0

我这里安装的5.14版本,如果你的版本过低的话建议更新到5.14版本以上

dotnet tool update --global dotnet-sonarscanner --version 5.14.0

安装完成后使用 dotnet sonarscanner /? 命令查看版本,出现以下信息则表示安装完成

image-20231031135922474

六、分析.NET 5.0代码

1.进入页面并点击登录(账户密码就是上图所配置的),进入页面后点击创建项目

image-20231031113656974

这里可以输入自己需要分析的项目名称,方便区分和后续操作,然后点击设置

2.进入下一个页面后点击创建,这时会生成一个令牌,这个令牌需要保存下来,因为不会再次出现,下次再次进入页面后可直接使用令牌进入

3.点击继续后进入下一个页面,然后选择需要分析的项目,我的项目是.NET5框架所以选择中间这个

image-20231031114626943

这里提示下载SonarQube MSBuild扫描器,我下载了5.14版本下的.NET 5+,压缩包里并没有SonarScanner.MSBuild.exe文件,我试了一段时间没成功,所以继续百度找到了其他方法。.NET Framework 4.6+包里倒是有但是我的不是这个框架

4.新建一个记事本把下面三个代码复制出来,方便后续操作,然后把 SonarScanner.MSBuild.exe ,MsBuild.exe命令进行替换,替换后如下

dotnet sonarscanner begin /k:"你的项目名称" /d:sonar.host.url="http://localhost:9000" /d:sonar.login=你的令牌"

dotnet build

dotnet sonarscanner end /d:sonar.login="你的令牌"

5.进入需要诊断项目的目录,在目录栏上输入cmd 打开控制台,然后依次输入命令,运行如下

1698734648327-20231031143038

6.之后打开网页会发现有一个任务执行的提示

image-20231031141224933

点击 后台任务,就可以看到刚刚提交的任务了,慢慢等待任务完成,我这边大概需要等待十多分钟。

image-20231031141403642

七、代码分析查看

1.等待任务完成后点击总览即可看到分析的数据

image-20231031145016209

可以看到有32个Bugs我们点击进去看问题在哪

image-20231031145240049

谁便点击一个进去

image-20231031145323677

可以看到这里判断了两次一模一样的判断,然后直接去代码里改掉。

八、总结

非常不错的一个代码分析平台,安装也比较简单。