美文网首页
Centos7下安装和配置SonarQube7.7

Centos7下安装和配置SonarQube7.7

作者: AmosZhu | 来源:发表于2019-07-19 20:24 被阅读0次

    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

          本文链接:https://www.haomeiwen.com/subject/oecelctx.html