zoukankan      html  css  js  c++  java
  • CentOS7安装配置SonarQube

    一、SonarQubeServer

    1、前提

    安装好mysql5.7和jdk1.8。

    (1)安装Mysql

    create user 'sonar'@'localhost' identified by 'sonar';

    CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;

    grant all privileges on sonar.* to 'sonar'@'localhost';

    mysql -uroot -p123456

    CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci; 

    CREATE USER 'sonar' IDENTIFIED BY 'sonar123'; 

    GRANT ALL ON sonar.* TO 'sonar'@'%' IDENTIFIED BY 'sonar123'; 

    GRANT ALL ON sonar.* TO 'sonar'@'localhost' IDENTIFIED BY 'sonar123'; 

    FLUSH PRIVILEGES;

    #mysql设置:一旦所有的SonarQube表都使用了InnoDB引擎,首先要做的就是使用innodb_buffer_pool_size参数为你的MySQL实例分配最大数量的RAM,并给参数至少15Mb query_cache_size

    #检查mysql引擎,确保为InnoDB

    show engines;

     #查看缓存开启状况

    SHOW STATUS LIKE 'qcache%'; 

    show variables like '%query_cache%'; 

    #设置缓存

    vi /etc/my.cnf

    [mysqld]

    character_set_server=utf8

    query_cache_type=1

    query_cache_size=32M

    #重启

    service mysqld restart

    2安装JDK8

    2 进入到目录 /usr/local/ 中:  

    cd /usr/local/

    3 创建目录 tools:   

    mkdir -p tools

    4 进入到目录 /usr/local/tools 中:  

    cd tools/

    5 下载 jdk-8u91-linux-x64.tar.gz

    wget http://download.oracle.com/otn-pub/java/jdk/8u161-b12/2f38c3b165be4555a1fa6e98c45e0808/jdk-8u161-linux-x64.tar.gz?AuthParam=1521514537_5997ca9bc07655e6b192a38bc9d18532

    6 压缩 jdk-8u161-linux-x64.tar.gz 文件:

    tar -zxvf jdk-8u161-linux-x64.tar.gz

    7 返回到上一级并创建 /usr/local/jdk 目录:  

    cd ..  

    mkdir -p jdk

    8 进入到 tools 目录后将 jdk1.8.0_91 移动到 jdk 目录中:  cd tools  mv jdk1.8.0_161/ ../jdk/

    9 打开 /etc/ 目录下的 profile 文件:  

    vim /etc/profile  

    将如下代码追加到 profile 文件末尾:  

    # idea - jdk8 settings start 2016-05-01

    JAVA_HOME=/usr/local/jdk/jdk1.8.0_161

    JRE_HOME=$JAVA_HOME/jre

    PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin

    CLASSPATH=:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib/dt.jar

    export JAVA_HOME JRE_HOME PATH CLASSPATH

    # idea - jdk8 settings end - 2016-05-01  

    按 Esc 键、输入 wq! 回车,保持并退出。

    10 即可启用新的配置:  source /etc/profile

    11 输入 java -version 查看 JDK 的版本:  

    [root@iZ94hws2fzlZ jdk1.8.0_91]# java -version

     java version "1.8.0_91"  

    Java(TM) SE Runtime Environment (build 1.8.0_91-b14)  

    Java HotSpot(TM) 64-Bit Server VM (build 25.91-b14, mixed mode)

    2、下载与准备

    1)环境准备

    系统参数需要满足下述要求

    • sonarqube一定不能在root帐户下运行
    • vm.max_map_count 大于或等于 262144
    • fs.file-max 大于或等于 65536
    • 运行SonarQube的用户至少可以打开 65536个 文件描述符
    • 运行SonarQube的用户可以打开至少2048个线程
    • seccomp已被编译 进内核

    根据需要执行下述命令以使内核参数符合sonar安装需求

    #可以使用以下命令查看这些值:

    sysctl vm.max_map_count

    sysctl fs.file-max

    ulimit -n

    #可以通过以root身份运行以下命令来为当前会话动态设置它们:

    sysctl -w vm.max_map_count=262144

    sysctl -w fs.file-max=65536

    ulimit -n 65536

    #为了更永久设置这些值,则必须修改/etc/sysctl.d/99-sonarqube.conf(或/etc/sysctl.conf文件)#文件末尾添加下述两行

    vi /etc/sysctl.conf

        vm.max_map_count=262144

    fs.file-max=65536

     

    #在/etc/profile文件末尾添加ulimit -n 65536

    vi /etc/profile

        ulimit -n 65536#保存后运行#source /etc/profile 使其生效

    source /etc/profile

    2下载

    [root@node3 ~]# wget  https://sonarsource.bintray.com/Distribution/sonarqube/sonarqube-6.7.2.zip

    3解压

    [root@node3 ~]# unzip sonarqube-6.7.2.zip -d /opt/

    4增加用户sonar

    [root@node3 ~]# useradd sonar

    [root@node3 ~]# chown -R sonar /opt/sonarqube-6.7.2/

    3、编辑sonarqube配置文件

      sonarqube-6.7]# vim conf/sonar.properties

    12

    13

        保存,退出;

     

    4、运行脚本启动服务

     

    sonarqube-6.7]# su sonar ./bin/linux-x86-64/sonar.sh start   //以普通用户起服务不然es启动会报错,用法:console、start、status、stop...

       sonarqube-6.7]# su sonar ./bin/linux-x86-64/sonar.sh status  

        注意:这里立即查看状态,短时间内意义不大,因为一开始显示running,并不代表会一定在后面的时间内running!

           也就是说,在启动彻底完成前不可信!什么叫启动"彻底完成"? 见下面:  

    16

     

       再次确认:

     

    17

       至此,SonarQube启动成功!

    排错说明:可以先跟着sonar.log日志,如果报了es错误,可以去查看es.log;如果报了web错误,那么就是查看web.log。

         都可以在日志里有迹可寻。(es.log,web.log跟sonar.log在同一个目录下)

    5、登录web端

     在浏览器输入:http:// IP:PORT

    初始用户:admin

    初始密码:admin

        登录后,可以点击自己账户修改密码。

     

    6、汉化

    #添加汉化插件 

    #从https://docs.sonarqube.org/display/PLUG/Plugin+Library下载汉化插件移动至指定目录即可 

    sonar-l10n-zh-plugin-1.19.jar 

    放在/sonarqube-6.7.2/extensions/plugins 目录中

    #重启sonar 

    cd /opt/sonarqube-6.7.2/bin/linux-x86-64/

    ./sonar.sh restart

     

    二、SonarQubeScanner

    1、下载

    sonar-scanner-3.0.3.778-linux.zip

    2、解压

    没有unzip的话,先安装unzip

    yum install -y unzip

    unzip sonar-scanner-3.0.3.778-linux.zip

    3、修改配置文件

    sonar-scanner-3.0.3.778-linux/conf/sonar-scanner.properties

    #----- Default SonarQube server

    sonar.host.url=http://localhost:9000

    #----- Default source code encoding

    sonar.sourceEncoding=UTF-8

    4、设置环境变量

    /etc/profile文件末尾加入下面三句:

    SONARSCANNER_HOME=/home/sonar-scanner-3.0.3.778-linux/bin PATH=$PATH:$SONARSCANNER_HOME

    export SONARSCANNER_HOME PATH

    启用新的配置:

    source /etc/profile

    5、检查sonar-scanner安装是否成功

    检查sonarscanner是否配置成功:

    sonar-scanner -h

    出现如下信息表示安装配置成功:

    sh-4.2# sonar-scanner -h

    INFO:

    INFO: usage: sonar-scanner [options]

    INFO:

    INFO: Options:

    INFO:  -D,--define <arg>     Define property

    INFO:  -h,--help             Display help information

    INFO:  -v,--version          Display version information

    INFO:  -X,--debug            Produce execution debug output

    6、项目配置文件sonar-project.properties

    sonar-project.properties放在项目根目录中:

    sonar.projectKey=icloud3.12

    sonar.projectName=icloud3.12

    sonar.projectVersion=3.12

    sonar.sourceEncoding=UTF-8

    sonar.language=java

    sonar.scm.disabled=true

    sonar.modules=dispatch-service,dispatch-client

    dispatch-service.sonar.modules=dispatch-cfgmanager,dispatch-taskmanager,dispatch-usermanager

    dispatch-service.dispatch-cfgmanager.sonar.projectName=icloudcfgserver

    dispatch-service.dispatch-cfgmanager.sonar.sources=.

    dispatch-service.dispatch-cfgmanager.sonar.java.binaries=target/classes

    dispatch-service.dispatch-taskmanager.sonar.projectName=icloudtaskserver

    dispatch-service.dispatch-taskmanager.sonar.sources=.

    dispatch-service.dispatch-taskmanager.sonar.java.binaries=target/classes

    dispatch-service.dispatch-usermanager.sonar.projectName=iclouduserserver

    dispatch-service.dispatch-usermanager.sonar.sources=.

    dispatch-service.dispatch-usermanager.sonar.java.binaries=target/classes

    dispatch-client.sonar.projectName=icloudwebserver

    dispatch-client.sonar.sources=.

    dispatch-client.sonar.language=js

    7、执行sonar-scanner

    在项目根目录中执行

    sonar-scanner

  • 相关阅读:
    2020.10.10收获(动手动脑三)
    2020.10.8收获
    2020.10.4收获
    2020.10.11收获
    2020.10.6收获
    2020.10.7收获(动手动脑二)
    2020.10.9收获
    2020.10.3收获
    2020.10.2收获
    2020.10.5收获
  • 原文地址:https://www.cnblogs.com/Jasmin/p/9877716.html
Copyright © 2011-2022 走看看