SonarQube安装及分析.NET 5.0代码
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.然后关闭程序,这里需要在任务管理器进程里关闭,关闭控制台进程还在
三、汉化
由于低版本SonarQube自带的插件商店没有对应的汉化版本,这里我们自己下载汉化插件。
下载地址:https://github.com/xuhuisheng/sonar-l10n-zh/releases,下载下方的jar包即可(注意对应版本)
下载完成之后,我们将这个jar包放入SonarQube的安装目录下的extensions\plugins文件夹中即可。
四、创建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
至此,SobarQube的配置基本完成,我们再次进入目录点击StartSonar.bat文件,然后在浏览器输入http://localhost:9000,配置数据库后启动会等待一段时间慢慢等就行
五、准备阶段
1.配置MSBuild环境变量,如果安装了Visual Studio就不需要单独安装,列vs2022路径为:C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Current\Bin
在Path下添加路径
配置好环境变量后,需要重启下电脑,然后在控制台直接输入msbuild -ver
出现下面信息标识配置完成
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 /?
命令查看版本,出现以下信息则表示安装完成
六、分析.NET 5.0代码
1.进入页面并点击登录(账户密码就是上图所配置的),进入页面后点击创建项目
这里可以输入自己需要分析的项目名称,方便区分和后续操作,然后点击设置
2.进入下一个页面后点击创建,这时会生成一个令牌,这个令牌需要保存下来,因为不会再次出现,下次再次进入页面后可直接使用令牌进入
3.点击继续后进入下一个页面,然后选择需要分析的项目,我的项目是.NET5框架所以选择中间这个
这里提示下载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 打开控制台,然后依次输入命令,运行如下
6.之后打开网页会发现有一个任务执行的提示
点击 后台任务,就可以看到刚刚提交的任务了,慢慢等待任务完成,我这边大概需要等待十多分钟。
七、代码分析查看
1.等待任务完成后点击总览即可看到分析的数据
可以看到有32个Bugs我们点击进去看问题在哪
谁便点击一个进去
可以看到这里判断了两次一模一样的判断,然后直接去代码里改掉。
八、总结
非常不错的一个代码分析平台,安装也比较简单。