Sonarqube安装
环境要求
Java
Database
高版本的不再支持mysql
Web Browser
Linux
下载
Java
https://www.oracle.com/java/technologies/downloads/#java11
选择版本11下载
Sonarqube-8.9LTS
https://www.sonarqube.org/downloads/
数据库
Sonarqube-8.9已不支持mysql,使用已有的oracle 12C
安装
sonar.properties:配置数据库用户名、密码、端口等
wrapper.conf:配置jre
jdbc-driver:添加jar
数据库用户、授权
新建用户并授权,与sonar.properties配置中保持一致
Web界面
url:IP:9000 默认端口9000
默认用户密码:admin/admin
命令
启动 sonar.sh start
停止 sonar.sh stop
重启 sonar.sh restart
插件安装
注意事项:选择的插件版本需要与sonarqube版本兼容
Plsql扫描插件
1.下载jar包
https://github.com/felipebz/zpa
2.将下载的jar包放入目录xxx/sonarqube-${version}/extensions/plugins
3.版本
Mybatis XML扫描插件
1.下载jar包
https://github.com/donhui/sonar-mybatis/releases
2.将下载的jar包放入目录xxx/sonarqube-${version}/extensions/plugins
3.版本
重启sonarqube服务
1.重启后,浏览器访问http://127.0.0.1:9000,默认用户密码都是:admin
2.查看插件的rules是否加载
可以看出:Plsql扫描插件规则已加载
启用/禁用规则
1.复制sonar way改名为自定义名称,如rx way
2.点击rules列的数字或下拉选择框,进入规则配置页面
根据《代码规范》进行配置
3.配置完成后,将rx way设置生效
继承的使用
具体场景:如果希望同时使用插件规则和sonar自带的规则,可以将二者都复制出来配置规则后,设置为继承。
Sonar-scanner使用
1.官方下载
sonar-scanner
2.解压后修改配置文件sonar-scanner.properties
3.修改环境变量path
添加
sonar-scanner安装目录/bin
4.按项目、模块扫描
- 在待扫描的项目根路径 下新建sonar-project.properties文件
-
分别配置需要的模块,如java、js、sql
配置举例:
sonar.projectKey=test2-8
sonar.projectName=test2-8
sonar.login=523010c307aad1214452006e25a3fd303d1d8d57
sonar.projectVersion=1.0
#sonar.modules=java-module,javascript-module,sql-module
sonar.modules=xml-module,sql-module
xml-module.sonar.projectName=xml Module
xml-module.sonar.language=xml
xml-module.sonar.sources=xml/
xml-module.sonar.projectBaseDir=.
sql-module.sonar.projectName=sql Module
sql-module.sonar.language=sql
sql-module.sonar.sources=sql/
sql-module.sonar.projectBaseDir=.
#javascript-module.sonar.projectName=JavaScript Module
#javascript-module.sonar.language=js
#javascript-module.sonar.sources=web/src/main/webapp/medias/src/plat
#javascript-module.sonar.projectBaseDir=.
#java-module.sonar.projectName=Java Module
#java-module.sonar.language=java
#java-module.sonar.sources=web/src/main/java,util/src/main/java,service/src/main/java,domain/src/main/java,dao/src/main/java
#java-module.sonar.projectBaseDir=.
#java-module.sonar.java.binaries=web/out/production/classes,util/out/production/classes,service/out/production/classes,domain/out/production/classes,dao/out/production/classes
-
命令行进入项目根路径后,执行sonar-scanner扫描
ps:扫描时如果出现问题 INFO: Project root configuration file: NONE,可能是sonar-project.properties名称写错了,导致文件没有找到 - 登录sonarqube服务器查看扫描结果
参考链接
1.官方文档 https://docs.sonarqube.org/8.9/requirements/requirements/
2.自定义插件 https://blog.csdn.net/axibazZ/article/details/122166010