1.使用github账号登陆sonarcloud。https://sonarcloud.io/projects
2.由于sonarcloud只支持检测vs2013以上版本创建的项目,所以版本低的如果想避坑的话请不要尝试了。我是直接安装了vs2017,组建默认安装即可。
3.在sonarcloud中按照傻瓜提示,从github中import一个organization用以分析,按照步骤进行
在第2步中会让我们下载两个包包,它提供了download,对于Scanner for MSBuild,选择下载.NET Framework 4.6+这一条
对于Build Wrapper for Windows则直接点击Download即可下载
4.下载完后,我在c盘下建了一个文件夹,将这些下载的东西放入其中(build-wrapper-win-x86-64.exe也索性放这了),并将此文件夹加入系统环境变量path。
5.自行下载JRE并安装,新增名为JAVA_HOME的系统环境变量
下载地址: https://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html
6.可以开始测试了!
sonarcloud上的傻瓜提示如图
我们打开cmd,先cd到待检测c++项目的sln所在目录
copy傻瓜命令第一行并执行,发现报错
此时按照提示,将/d:sonar.organization="museumrobot" 改为/o:"museumrobot",继续执行 SonarQube.Scanner.MSBuild.exe begin /k:"MuseumRobot_RobotQ_MapEditor" /o:"museumrobot" /d:sonar.cfamily.build-wrapper-output=bw-output /d:sonar.host.url="https://sonarcloud.io" /d:sonar.login="0568da4da4c3bbfe6007e537bdcbcfa21f3cf942"
发现可以执行。
复制执行第二步傻瓜提示
build-wrapper-win-x86-64.exe --out-dir bw-output MsBuild.exe /t:Rebuild
执行截图如下
可能会发现报错
此时可以通过VS2017绝对路径下的MSBuild.exe来解决问题
build-wrapper-win-x86-64.exe --out-dir bw-output C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\MsBuild.exe /t:Rebuild
copy傻瓜命令的第三步并执行,
SonarQube.Scanner.MSBuild.exe end /d:sonar.login="0568da4da4c3bbfe6007e537bdcbcfa21f3cf942"
发现并没有错误产生,耐心等待代码分析,如果360提示授权,尽可授权
可以了,出现succeeded
7.针对测试项目生成的检测结果在sonarcloud中可以查看
8.我认为从github中导入的是哪个repo并不重要,只是起到标识作用,因为我引入的项目和检测的项目不一样也可以成功生成检测报告。
9.祝大家开心,玩得愉快!