IDEA中的代码规范检查很好用,但是不能检测代码的质量,所幸有了SonarQube,我们可以提交代码到git上进行代码质量检测

为了体验SonarQube,我们先来在Centos7上安装SonarQube运行环境,首先准备sonarQube的安装包,不方便下载的可以使用百度云提供的安装包

提取码: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

查看文件如下:

349b4a0ac5b8

image

其中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需要配置系统相关的参数:具体可以参考官方的文档:

具体操作简化如下:

## 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 就可以访问

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐