Centos7下安装和配置SonarQube7.7

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

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

SonarQube:https://pan.baidu.com/s/1vJYHJKF5Hrhr6rL4MXVSkw

提取码:evd1

  1. 准备支持环境

SonarQube需要Java环境支持,所以我们必须先安装java环境

    ## 查看有没有安装java环境
    java -version
    ## 如果已经安装的跳过此步骤,如果没有安装java的话,centos7中提供yum安装
    yum install java
    ## 查看java的版本(必须是1.8版本的,sonarqube内部的elasticsearch需要jdk1.8支持)
    java -version
    
  1. 创建数据库

提供Mysql数据库,不在本机也无所谓,sonarQube初次运行时需要在数据库中初始化一些表来存储一些数据,只需要创建数据库即可,sonar自动会为我们创建表

    ## 创建sonar数据库,字符集是UTF-8
    create database sonar character utf8 collate utf8_general_ci;
  1. 安装sonarqube
    ## 解压sonarqube7.7
    cd /usr/local/
    unzip sonarqube-7.7.zip
    
    cd sonarqube-7.7/
    ll

查看文件如下:


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

以上配置就完成了

  1. 配置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
  1. 启动sonarqube

至此我们已经全部配置好sonar启动的环境和配置参数,我们来启动sonarqube

    ## 使用普通用户
    su - sonarqube
    
    ## 启动sonarqube
    cd /usr/local/sonarqube-7.7/bin/linux-x86-64/
    ./sonar.sh start
    
    ## 查看sonar状态
    ./sonar.sh status

初次启动,需要到数据库中初始化表和数据,所以比较慢,可以随时查看sonar的状态

  1. 启动失败日志定位问题

如果启动失败,依次查看 sonar.log --> es.log --> web.log 日志文件来定位问题

  1. 访问web页面

打开浏览器,访问 http://SONAR安装的服务器IP:9090/sonar 就可以访问

你可能感兴趣的:(Centos7下安装和配置SonarQube7.7)