zoukankan      html  css  js  c++  java
  • 从零开始CentOs7中安装sonarQube8.4.2服务系列之------3.安装SonarQube服务器

    3.安装SonarQube服务器
    3.1镜像拉取

    docker pull sonarqube:8.4.2-community
    //下载速度较慢
    

    3.2.创建容器实例:

    方式一:启动无需先配置好postgreSQL
    docker run -id --name sonarqube 
        -p 9000:9000 
        --restart=always 
        -v /data/sonarqube/sonarqube_extensions:/opt/sonarqube/extensions 
        -v /data/sonarqube/sonarqube_logs:/opt/sonarqube/logs 
        -v /data/sonarqube/sonarqube_data:/opt/sonarqube/data 
       sonarqube:8.4.2-community
    
    方式二::必须先配置好postgreSQL,否则SonarQube启动时连接不到数据库会报错
    docker run -id --name sonarqube 
        -p 9000:9000 
        --restart=always 
        -e SONAR_JDBC_URL=jdbc:postgresql://192.168.2.141:54321/sonarqube? 
        -e SONAR_JDBC_USERNAME=postgres 
        -e SONAR_JDBC_PASSWORD=123456 
        -v /data/sonarqube/sonarqube_extensions:/opt/sonarqube/extensions 
        -v /data/sonarqube/sonarqube_logs:/opt/sonarqube/logs 
        -v /data/sonarqube/sonarqube_data:/opt/sonarqube/data 
       sonarqube:8.4.2-community
    
    
    #参数解释
    -v 目录挂载:宿主机路径:Docker中路径
    --name :容器的名称
    --restart=always:随容器自启
    -p 端口映射 :宿主机端口:容器端口
    -di :-d 后台运行 -i 容器运行起来
    sonarqube:8.4.2-community  指定容器的镜像名和所需版本:8.4.2-community
    -e :Docker容器设置相关的环境变量
    
    #扩展
    查看Docker容器环境变量:
    docker exec -it <CONTAINER-NAME> OR <CONTAINER-ID> env
    或者
    docker inspect <CONTAINER-NAME> OR <CONTAINER-ID>
    修改Docker容器环境变量:
    docker run --env <key>=<value> <IMAGE-ID>   
    

    注:
    1.conf文件夹仅支持7.9.X版本挂载,故新版本中/opt/sonarqube/conf文件夹在宿主机中无法挂载
    官方说明:https://hub.docker.com/_/sonarqube

    2.官方不推荐使用镜像环境变量,在将来的发行版中将停止使用该变量。
    官方说明:https://docs.sonarqube.org/latest/setup/install-server/

    此时可以通过访问[虚拟机ip:9000],查看sonarqube是否成功启动
    如图:

    *3.3.为Sonarqube添加数据库配置(注:若使用方式二创建的SonarQube,请忽略此步骤)
    *3.3.1登录容器
    docker exec -it sonarqube /bin/bash

    *3.3.2编辑sonar.properties配置文件
    vi /opt/sonarqube/conf/sonar.properties

    增加如下数据库的配置
    (数据库所在的ip为192.168.2.141,端口为54321,数据库名称可自定义,此处数据库名为sonarqube)

    sonar.jdbc.url=jdbc:postgresql://192.168.2.141:54321/sonarqube?
    sonar.jdbc.username=postgres
    sonar.jdbc.password=123456
    

    *3.3.3保存修改并退出

    ESC:wq!
    

    *3.3上述操作图解:

    3.4修改系统配置文件
    因sonarqube的启动对系统参数具有对应的要求,故需要修改系统的默认值
    官方参数要求:https://docs.sonarqube.org/latest/requirements/requirements/

    设置方法如下:
    方式一:以root权限临时设置(系统重启后无效)

    sysctl -w vm.max_map_count=524288
    sysctl -w fs.file-max=131072
    ulimit -n 131072
    ulimit -u 8192
    
    # 参数解释
    sysctl vm.max_map_count    //一个进程可以拥有的VMA(虚拟内存区域)的数量上限
    sysctl fs.file-max        //同时打开的文件数目上限 
    ulimit -n   //可以打开的文件描述符的上限
    ulimit -u  //可以启动线程的数量上限
    

    方式二:修改系统配置文件(永久设置) 推荐
    (1)手动修改/etc/sysctl.conf 文件

    #1.vim /etc/sysctl.conf
    #2.在文件末尾,添加如下两个变量(如果查询的值大于官方的要求值,可以选择性设置)
    vm.max_map_count=524288
    fs.file-max=131072
    
    #3.让修改后的内核参数即刻生效
    sysctl -p
    

    (2)手动修改/etc/security/limits.conf文件

    vim /etc/security/limits.conf
    #在文件末尾,添加如下设置
    * soft nofile 131072
    * hard nofile 131072
    * soft nproc 8192
    * hard nproc 8192
    
    
    #参数说明:
        * 代表针对所有用户
        noproc 是代表最大进程数
        nofile 是代表最大文件打开数 
    #重启服务器,使limits.conf限制生效
    reboot
    

    备注:以上所设参数的值均为官方推荐值

    按照上述设置后,可通过如下命令验证所设值是否生效

    查看如下值:

    sysctl vm.max_map_count
    sysctl fs.file-max
    ulimit -n
    ulimit -u
    

    修改上述值后,SonarQube容器随Docker重启后,会根据postgreSQL配置自动创建对应的表,如图所示

    3.5安装插件
    3.5.1直接在官网下载
    admin登录---Adminstration--Marketplace---"Chinese Pack" ---install
    下载安装完后,页面会提示重启sonarqube:点击"restart Server"即可使插件生效;

    同理,安装其他的插件
    eg:java,html,css,js,xml,yaml,Shell.....
    需要扫描对应的文件类型,就需要下载对应文件的插件(PluginsMarket中无法搜索java)
    输入"java",搜索到的均为扩展分析报告,没有搜索到 SonarJava LANGUAGES

    3.5.2直接使用本地下载好的插件(需要在创建容器实例的时候,进行目录挂载)推荐!!!
    直接将已经存在的插件放到挂载的目录下
    最直接的方式:直接在官网下载对应的安装包,其中就有Static code analysis for Java
    官网下载链接:https://www.sonarqube.org/downloads/

    下载后,直接解压,并将所需的plugins拖到宿主机挂载的目录下

    使用命令,重启sonarqube

    //重启sonarqube的Docker实例,让plugins生效
    docker restart sonarqube
    
  • 相关阅读:
    函数式编程
    _.pick lodash
    Vue mixins extend
    js 导入json配置文件
    FormData
    shell中的调试与计算
    linux命令(6/10):find 命令
    Linux性能测试分析命令_sar+iostat+vmstat+top
    linux命令详解之(at)
    linux命令(6/9):watch命令
  • 原文地址:https://www.cnblogs.com/debuggerhu/p/13634096.html
Copyright © 2011-2022 走看看