SonarQube系列(一)之代码分析
1.sonarqube账号token的生成
sonarqube支持生成用户token,以便在命令行或者脚本中使用token代表账号操作sonarbue,避免造成账号密码的泄露。
点击sonarqube首页右上角头像,进入我的账号
然后进入安全tab页,随便输入个标识,点击生成,生成一个账号专属的token
生成的token只会显示一次,且后续无法查询,因此先把他手动备份下来,后续会用到。
2.安装netcore分析器
dotnet tool install --global dotnet-sonarscanner --version 4.8.0
安装完后,我们把我们的sonar的token注入到该命令的配置中,以便在执行命令时自动关联到对应账户的sonar。
在dotnet tool的安装目录下,找到一个叫 SonarQube.Analysis.xml
的配置文件。
我的xml在该目录下:C:\Users\Administrator\.dotnet\tools\.store\dotnet-sonarscanner\4.8.0\dotnet-sonarscanner\4.8.0\tools\netcoreapp3.0\any
FAQ
Q:怎么查找目录呢?
A:
Code
1 |
|
工具目录:工具参考
3.windows配置java环境
4.开始分析代码
依次执行三条命令:
(方案一):
SonarScanner.MSBuild.exe begin /k:"centa" /d:sonar.host.url="http://192.168.120.144:9000" /d:sonar.login="3f5afc79d33c4d3e882b8663cc9f137c39e8bac4"
MsBuild.exe /t:Rebuild
SonarScanner.MSBuild.exe end /d:sonar.login="3f5afc79d33c4d3e882b8663cc9f137c39e8bac4"
(方案二):
dotnet sonarscanner begin /k:"centa" /d:sonar.host.url="http://192.168.120.144:9000" /d:sonar.login="3f5afc79d33c4d3e882b8663cc9f137c39e8bac4"
dotnet build Centa.Platform.sln
dotnet sonarscanner end /d:sonar.login="3f5afc79d33c4d3e882b8663cc9f137c39e8bac4"
我采用的是第二种方式,打开netcore项目根目录,gitbash执行以上命令,会生成.sonarqube文件夹。等待命令执行完成,直到看到successed字样。如下图:
5.sonar集成jenkins
参考资料
QiXiao_柒小(東): 《SonarQube系列一、Linux安装与部署》