代码检查工具 Sonar 安装&使用
本文主要说明Sonar的安装方式并附上依赖安装包,本文目标只实现本地搭建测试的Sonar环境,以及本地的测试项目的非定制化扫描
本机测试环境:Win10-X64,.vs2017
依赖包:
1.SDK Java的东东
2.sonarqube 静态代码检查工具,B/S
3.sonar-scanner-msbuild 真正的代码扫面工具
Soanr的代码检测的实现机制,就是通过客户端的工具对代码进行扫描,然后发送到 sonarqube,然后进行结果报告查看
开始安装:
1.首先安装SDK,安装完成之后,配置相应的path环境变量,打开cmd输入java,如下图代表安装成功:
2.安装Sonar
下载Sonar ,下载地址 :https://www.sonarqube.org/downloads/
解压下载包之后,执行 binwindows-x86-64StartSonar.bat
如上图,代表启动成功,浏览器输入:http://localhost:9000/ 即可访问,已经默认内置了管理员账号:admin / admin
3.配置中文包
如何打开配置中文包呢?
安装之后需要重启才能生效
如何强制停止sonar服务呢? 打开任务管理器,关闭 Java进程
4.安装包 sonar-scanner-msbuilld
canner包就是真正进行代码扫面的工具包
下载后解压至任意目录即可,这里直接放到了c:sonar
开始使用
1.新建项目
填写项目的关键信息即可,选择项目开发语言
2.扫描项目三部曲
这里的三步曲就是sonar新建项目中的最后步骤的扫描教程,分为三步
1.配置环境变量,也就是下载的Sonar-Canner-Msbuild 中 SonarScanner.MSBuild.exe的位置
2.进行项目解决方案所在的目录,也就是 sln 文件所在目录,打开cmd命令 执行如下命令,下面的命令是根据创建项目时生成的需要复制出来
a.SonarScanner.MSBuild.exe begin /k:"Mytest" /d:sonar.host.url="http://localhost:9000" /d:sonar.login="d8fb95b33c46b1a755e9f93ca0ee62e7bb36591b"
b.MsBuild.exe /t:Rebuild
c.SonarScanner.MSBuild.exe end /d:sonar.login="d8fb95b33c46b1a755e9f93ca0ee62e7bb36591b"
执行效果如下:
如果MsBuild.exe /t:Rebuild 报错,需要解决项目中的问题,这是编译报错,下图为编译成功,且报告已经上传到SonarQube ,可以到 http://localhost:9000 查看具体报告
3.查看项目扫描报告
查看报告
这里提供一个批处理,配合上述的放入c:sonar,使用如下命令即可一部完成代码分析并上报, 新建sonar.bat文件,copy如下命令,将soanr.bat放入项目sln目录中,双击运行即可
echo off c:sonarSonarScanner.MSBuild.exe begin /k:"项目名称需要替换" /d:sonar.host.url="http://localhost:9000" /d:sonar.login="项目Key,创建项目时生成,需要复制"
::编译代码 set "msbuildPath=" set "msbuildPath14=%ProgramFiles(x86)%MSBuild14.0BinMSBuild.exe" set "msbuildPath15=%ProgramFiles(x86)%Microsoft Visual Studio2017EnterpriseMSBuild15.0Binmsbuild.exe" if exist "%msbuildPath14%" set "msbuildPath=%msbuildPath14%" if exist "%msbuildPath15%" set "msbuildPath=%msbuildPath15%" if "%msbuildPath%" == "" goto nomsbuild "%msbuildPath%" /t:Rebuild c:sonarSonarScanner.MSBuild.exe end /d:sonar.login="d8fb95b33c46b1a755e9f93ca0ee62e7bb36591b" echo 扫描完成 pause :nomsbuild echo 没有找到MSBUILD pause :exit