openjdk11
sonarqube-7.6(用9.2版,在新增cxx插件后启动报错,遂改用此版本)
SonarQube Scanner 4.2.0.1873
cppcheck-2.6
sonar-cxx-plugin-1.3.2.1853
二、sonarqube服务器安装sonarqube服务器安装较为简单,只需下载解压后(注意各版本对应的jdk版本),到对应操作系统下执行启动脚本即可启动服务。
官网地址:
https://www.sonarqube.org/downloads/
三、 SonarQube Scanner安装同sonarqube服务器,下载解压后配置scanner.properties
sonar.host.url=http://localhost:9000 sonar.sourceEncoding=UTF-8 sonar.jdbc.username=root sonar.jdbc.password=root sonar.jdbc.url=jdbc:mysql:/**********:3306/mydatabase?useUnicode=true&characterEncoding=utf8
配置环境变量:
export PATH=$PATH:/usr/local/sonar-scanner/bin
官网地址:
https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/
四、cppcheck安装下载源码包,解压后进入cppcheck所在目录,进行编译安装
$ make $ sudo make install
有可能会报错找不到FILESDIR等,可打开目录下的Makefile文件,将其写死:
export FILESDIR=/ export DESTDIR=/ export PREFIX=usr
同样需要配置环境变量
export CPPCHECK_HOME=/home/qiucx/Downloads/cppcheck-2.6
下载地址
http://cppcheck.net
也可用apt源一键安装(没尝试,看官可尝试一下。据说无需编译安装,自动配置环境变量)
sudo apt install cppcheck五、添加sonar-cxx-plugin
直接下载jar包,放至SonarQube下的/extensions/plugins目录。重启SonarQube服务后能看到c++相关信息。
下载地址
Releases · SonarOpenCommunity/sonar-cxx
六、扫描配置在需要扫描的项目路径下创建并配置sonar-project.properties文件:
sonar.projectKey=testCpp sonar.projectName=testCpp sonar.projectVersion=master sonar.sources=./ sonar.language=c++ sonar.sourceEncoding=UTF-8 sonar.my.property=value sonar.java.binaries=target/squash-java-1.0.0-SNAPSHOT.jar sonar.cxx.cppcheck.reportPath=cppcheck-result.xml soanr.cxx.includeDirectories=/
注意尽量不要写中文,防止不必要的错误。
执行扫描即可获得结果。
sonar-scanner -Dsonar.projectKey=testCpp -Dsonar.sources=. -Dsonar.host.url=http://localhost:9000 -Dsonar.login=4f054fadd0cc1a0c93aafcff5f90d61122547763
规则
扫描结果



