Windows下安装sonarqube+scanner扫描C++代码!!!
首先说配置:
jdk用的11
sonarqube:7.7
地址:https://www.sonarqube.org/downloads/
scanner: sonar-scanner-cli-4.2.0.1873-windows
地址https://docs.sonarqube.org/latest/analysis/scan/sonarscanner/
MySQL:5.7(Mysql版本不要使用8.0以上的,不然后续sonar服务会启动不起来,sonarqube官网明确写着,8.0以上不支持MySQL了,所以大家注意)
地址:https://dev.mysql.com/downloads/file/?id=489817
系统我用的win7 和win10
步骤1:安装MySQL以及jdk 这个略(jdk记得配置环境变量以及javahome)
创建数据库以及创建用户
CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci; CREATE USER ‘sonar’ IDENTIFIED BY ‘password’; GRANT ALL ON sonar.* TO ‘sonar’@’%’ IDENTIFIED BY ‘password’; GRANT ALL ON sonar.* TO ‘sonar’@‘localhost’ IDENTIFIED BY ‘password’; FLUSH PRIVILEGES;
步骤2:解压sonarqube压缩包并配置环境变量
步骤3:因SonarQube的默认C/C++插件CFamily是收费的,但有个大佬写了开源的插件sonar-cxx-plugin
下载地址:https://github.com/SonarOpenCommunity/sonar-cxx/releases
将下下来的插件部署到sonarqube目录/extensions/plugins下(这个目录是sonar所有的插件,以后部署的中文插件也在这个目录下)
步骤4:配置文档,也是最关键的一步,所有步骤一共需要部署三个配置文档,这是第一个!
进入到sonar的解压目录中的conf中,找到sonar.properties文件中 ,修改里面配置数据库信息
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false
sonar.jdbc.username=sonar
sonar.jdbc.password=123456
sonar.sorceEncoding=UTF-8
sonar.login=admin
sonar.password=admin
加到MySQL下
步骤5:进入sonarqube的bin文件夹启动
启动后进去界面
步骤6加载部署中文包
进入页面的配置-应用市场-查找安装
步骤7配置C++规则并激活
sonar平台质量配置,新增C++的质量配置项
新增后点击激活更多
将需要的规则激活或者批量修改
激活完成后,将该规则项设置为默认。基本配置就已经完成了
步骤8配置scanner以及配置文件,配置环境变量
scanner下载完成后解压至于sonar统一目录下
进入scanner下的conf目录下打开配置文件
配置你的!项目设置
sonar.host.url=http://localhost:9000
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false
sonar.jdbc.username=sonar
sonar.jdbc.password=123456
sonar.sorceEncoding=UTF-8
sonar.login=admin
sonar.password=admin
sonar.projectKey=wkyceshi
sonar.projectName=wkyceshi
sonar.sources=D:\FisTask_DataReceiver_test
sonar.language=C++
步骤9进入你要扫描的代码文件夹新增一个sonar-project.properties
里边填写你自己的配置
sonar.login=admin
sonar.password=admin
sonar.projectKey=wkyceshi
sonar.projectName=wkyceshi
sonar.projectVersion=1.0
sonar.sources=./
sonar.language=C++
sonar.sourceEncoding=UTF-8
主要是sonar.sources=./,不要填写你代码所在的地址,不然你会出现我另一篇帖子的问题
配置完成后就可以进行扫描了
进入cmd后 进入你代码所在的目录下输入sonar-scanner -X(-X为debug模式)
进入sonar页面点击项目即可查询扫描出来的问题
等我研究研究Jenkins自动打包,把他们连上