Sonarqube8.9LTS搭建及SQL扫描插件安装及sonar-scanner使用全过程

  • Post author:
  • Post category:其他




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



版权声明:本文为csdnklsdm原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。