IDEA中的代码规范检查很好用,但是不能检测代码的质量,所幸有了SonarQube,我们可以提交代码到git上进行代码质量检测
为了体验SonarQube,我们先来在Centos7上安装SonarQube运行环境,首先准备sonarQube的安装包,不方便下载的可以使用百度云提供的安装包
SonarQube:https://pan.baidu.com/s/1vJYHJKF5Hrhr6rL4MXVSkw
提取码:evd1
- 准备支持环境
SonarQube需要Java环境支持,所以我们必须先安装java环境
## 查看有没有安装java环境
java -version
## 如果已经安装的跳过此步骤,如果没有安装java的话,centos7中提供yum安装
yum install java
## 查看java的版本(必须是1.8版本的,sonarqube内部的elasticsearch需要jdk1.8支持)
java -version
- 创建数据库
提供Mysql数据库,不在本机也无所谓,sonarQube初次运行时需要在数据库中初始化一些表来存储一些数据,只需要创建数据库即可,sonar自动会为我们创建表
## 创建sonar数据库,字符集是UTF-8
create database sonar character utf8 collate utf8_general_ci;
- 安装sonarqube
## 解压sonarqube7.7
cd /usr/local/
unzip sonarqube-7.7.zip
cd sonarqube-7.7/
ll
查看文件如下:
其中bin文件下是不同的操作文件,conf文件下是配置文件,elasticsearch下是es的相关的配置文件,logs是日志文件
我们需要首先设置sonar的配置文件,添加如下的配置消息:
## 修改sonar的配置文件
vi /usr/local/sonarqube-7.7/conf/sonar.properties
添加如下的信息
sonar.host.url=http://localhost:9090
sonar.jdbc.username=数据库用户名
sonar.jdbc.password=数据库密码
sonar.jdbc.url=jdbc:mysql://数据库IP:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance
sonar.web.host=0.0.0.0
## 配置web访问的路径 这里必须要有 / 前缀
sonar.web.context=/sonar
## web容器的端口号
sonar.web.port=9090
以上配置就完成了
- 配置elasticsearch启动的准备工作
sonarqube内部集成了elasticsearch,而elasticsearch是不能使用root用户启动的,必须是使用普通用户来启动,所以我们先建立普通用户,并且授权
## 创建普通用户
useradd sonarqube
passwd sonarqube
## 给普通用户授sonarqube-7.7的权限
chmod -R 777 /usr/local/sonarqube-7.7
接下来,我们来修改系统相关的配置,以满足elasticsearch启动的需求,如果已经满足了就可以跳过此步骤
elasticsearch需要配置系统相关的参数:具体可以参考官方的文档:
Configuring system settingsedit
具体操作简化如下:
## 1.max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
## 修改/etc/security/limits.conf文件,添加或修改如下行:
* hard nofile 65536
* soft nofile 65536
## 2.max virtual memory areas vm.max......
## 修改 /etc/sysctl.conf 文件,添加如下行:
vm.max_map_count=262144
## 修改好了以后,调用sysctl -a查看,发现参数并没有变动,要重启才可以。
limits.conf 不需要重启,但是sysctl.conf则需要重启服务器让参数生效,如果服务器不方便重启,也可以通过命令来临时设置变量,只是临时的,服务器重启的话,之前的设置就不会生效了
## 命令设置 vm.max_map_count 参数
sudo sysctl -w vm.max_map_count=262144
- 启动sonarqube
至此我们已经全部配置好sonar启动的环境和配置参数,我们来启动sonarqube
## 使用普通用户
su - sonarqube
## 启动sonarqube
cd /usr/local/sonarqube-7.7/bin/linux-x86-64/
./sonar.sh start
## 查看sonar状态
./sonar.sh status
初次启动,需要到数据库中初始化表和数据,所以比较慢,可以随时查看sonar的状态
- 启动失败日志定位问题
如果启动失败,依次查看 sonar.log --> es.log --> web.log 日志文件来定位问题
- 访问web页面
打开浏览器,访问 http://SONAR安装的服务器IP:9090/sonar 就可以访问