SonarQube是一个开源的代码质量分析平台,便于管理代码的质量,可检查出项目代码的漏洞和潜在的逻辑问题,代码质量的评分,健康状况等。而且提供了丰富的插件,支持多种语言的检测, 如 Java、Javascript、Python、C#、等编程语言的检测。
使用sonarQube需要jdk支持,还需要数据库来存放检测代码的数据报告,检测的时候还需要使用sonar-runner来使用。
以下需要用到的软件:
JDK不详细写了,以下是百度的教程,怎么去安装和配置环境变量: https://jingyan.baidu.com/article/6dad5075d1dc40a123e36ea3.html
- 下载完直接解压SonarQube就好,进入sonar/bin目录下,进入对应的系统目录,启动sonar,再用浏览器打开,输入URL:localhost:9000,如果可以看到后台界面说明安装成功。
(1) 安装完sonar还需要创建sonar的用户和数据库,使用MySQL Command Line Client输入以下命令创建(或者使用Navicat Premium客户端来建立一个Sonar数据库)
打开数据库命令行客户端,输入命令:
CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci; // 创建sonar数据库
CREATE USER 'sonar' IDENTIFIED BY 'sonar'; // 创建sonar用户
GRANT ALL ON sonar.* TO 'sonar'@'%' IDENTIFIED BY 'sonar'; // 给sonar用户分配可对所有数据库的所有表进行所有操作的权限,并设定口令为sonar
GRANT ALL ON sonar.* TO 'sonar'@'localhost' IDENTIFIED BY 'sonar'; // 给本机用户sonar分配可对所有数据库的所有表进行所有操作的权限,并设定口令为sonar
FLUSH PRIVILEGES; // 刷新权限
查看是否成功创建了一个名为sonar的数据库:
show databases;
(2) 修改Sonar配置,找到安装包下conf/sonar.properties文件,去掉sonar.jdbc.username、sonar.jdbc.password、sonar.jdbc.url前面的注释符号,再填写具体的username、password和url:
sonar.jdbc.username=root
sonar.jdbc.password=123456
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false
Sonar的命令行分析端软件有两种分别是Sonar-Runner和Sonar-Scanner,这里我们用Sonar-Runner来验证。
- (1) 安装Sonar-Runner
- (2) 配置Sonar-Runner,找到安装包下conf/sonar-runner.properties文件,配置如下:
sonar.jdbc.username=root
sonar.jdbc.password=123456
sonar.jdbc.url=jdbc:postgresql:
- (3) 在检测项目根目录新建sonar-project.properties,配置如下:
sonar.sources=.
sonar.sourceEncoding=UTF-8
sonar.projectVersion=1.0
sonar.projectName=test // 填写自己的项目名称
sonar.projectKey=test // 填写自己的项目的唯一标识
在项目根目录中执行命令:
sonar-runner
检测完成,再次打开localhost:9000,就可以看到项目的检测报告。
我们的项目测试都需要经过jenkins构建发布,在jenkins构建这里加上SonarQube来监控代码是比较合理的。
- (1) 安装jenkins插件SonarQube Scanner For Jenkins
- (2) 配置sonar服务,Manage Jenkins > Configure System > SonarQube servers,并添加sonar token
- (3) 设置sonar安装路径,Manage Jenkins > Global Tool Configuration
- (4) 任务设置,动态化添加sonar-project.properties参数
- (5) 构建任务完成后即可打开SonarQube后台地址查看分析报告。