环境配置
工具准备
- sonarqube-7.4
- sonar-scanner-4.5.0.2216
- cppcheck-2.7
安装包下载路径
安装配置中遇到的坑
1. sonarqube\conf\sonar.properties中配置错误导致无法在浏览器中访问sonar平台(http://localhost:9000)
这里配置sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar一粗心就容易出错
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false
sonar.jdbc.username=root
sonar.jdbc.password=123456
sonar.sorceEncoding=UTF-8
sonar.login=admin
sonar.password=admin
sonar.jdbc.driverClassName=org.gjt.mm.mysql.Driver
2.在项目目录下使用cppcheck生成cppcheck-report.xml,使用sonar-scanner扫描之后,在sonar平台中bug显示的数量为0
-
在sonarqube-7.4\extensions\plugins中放置大佬写的sonar-cxx-plugin-1.3.3.2051.jar
-
重新启动sonarqube,代码规则中如下所示就ok了(如果jar版本与sonarqube版本不兼容,sonarqube重启是有问题的)
-
下载cppcheck-2.7-x64-Setup.msi,安装并配置环境变量,在cmd窗口中发送“cppcheck”检测是否安装成功。
-
进入项目目录,输入以下指令生成xml报告
cppcheck --xml --xml-version=2 --enable=all ./ 2> cppcheck-report.xml
- 在sonar-scanner\conf\sonar-scanner.properties中配置cppcheck生成的xml报告路径
sonar.cxx.cppcheck.reportPath=cppcheck-report.xml
-
在项目目录下,发送sonar-scanner指令扫描,窗口显示执行成功
-
然后发现sonarqube中分析虽然刷新了,但是xml报告内容没有显示出来,bugs数量为0。(我的bugs已经不为0了,就不上传图片了)
解决方案为:在sonar平台质量配置,新增C++的质量配置项
语言选择C++
激活,设置为默认
重新使用sonar-scanner扫描一下,xml报告就传到sonar平台了