• 安装Sonarqube到CentOS(YUM)


    SonarQube 是一个用于代码质量管理的开源平台,用于管理源代码的质量。 通过插件形式,可以支持包括 java, C#, C/C++, PL/SQL, Cobol, JavaScrip, Groovy 等等二十几种编程语言的代码质量管理与检测。Sonar可以从以下七个维度检测代码质量,而作为开发人员至少需要处理前5种代码质量问题。

    运行环境

    系统版本:CentOS Linux release 7.6.1810 (Core)
    软件版本:sonarqube-8.2
    硬件要求:最低2核4GB

    安装过程

    1、配置系统环境

    1.1、关闭防火墙和SeLinux

    [root@localhost ~]# systemctl stop firewalld
    [root@localhost ~]# systemctl disable firewalld
    [root@localhost ~]# setenforce 0
    [root@localhost ~]# sed -i 's/SELINUX=.*/SELINUX=disabled/g' /etc/sysconfig/selinux
    

    1.2、设置系统可并发打开的文件数量为65535

    [root@localhost ~]# vim /etc/security/limits.conf
    root soft nofile 65536
    root hard nofile 65536
    * soft nofile 65536
    * hard nofile 65536
    [root@localhost ~]# ulimit -n 65536
    

    1.3、设置mmap计数为262144

    Elasticsearch默认使用mmapfs来存储索引,mmap计数可能由于系统限制值太低了,可能会导致ES出现内存不足的异常,我们需要将其设置为更大。

    [root@localhost ~]# vim /etc/sysctl.conf
    vm.max_map_count=262144
    [root@localhost ~]# sysctl -p
    

    1.4、关闭SWAP

    [root@localhost ~]# swapoff -a
    

    2、安装PostgreSQL

    2.1、安装YUM-PostgreSQL存储库

    YUM-PostgreSQL存储库由PostgreSQL官方提供。

    [root@localhost ~]# yum -y install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
    

    2.2、安装PostgreSQL12

    [root@localhost ~]# yum -y install postgresql12 postgresql12-server
    

    2.3、初始化数据库

    [root@localhost ~]# /usr/pgsql-12/bin/postgresql-12-setup initdb
    

    2.4、修改配置,监听所有网卡地址

    这样其他主机也可以通过主网卡访问到PostgreSQL数据库,默认情况下如果不修改,则PostgreSQL只允许本地访问。

    [root@localhost ~]# vi /var/lib/pgsql/12/data/postgresql.conf
    listen_addresses = '*'
    port = 5432
    

    2.5、添加信任网段,允许其他主机访问

    [root@localhost ~]# vi /var/lib/pgsql/12/data/pg_hba.conf
    # 添加以下内容到文件尾部。
    # TYPE  DATABASE        USER            ADDRESS                 METHOD
    host    all             all             0.0.0.0/0               md5
    # 身份验证方法(METHOD):
    # - md5       密码经过MD5加密后登陆到数据库,一般采用选择这种方式。
    # - password  使用明文密码登陆到数据库。
    # - trust     信任该主机,无需密码即可登陆到数据库。
    # - ident     通过读取"pg_ident.conf"文件里面具有系统用户=数据库用户的映射关系,可以使用系统用户登陆到
    #             数据库。
    

    2.6、启动服务

    [root@localhost ~]# systemctl enable postgresql-12
    [root@localhost ~]# systemctl start postgresql-12
    [root@localhost ~]# systemctl status postgresql-12
    ● postgresql-12.service - PostgreSQL 12 database server
       Loaded: loaded (/usr/lib/systemd/system/postgresql-12.service; enabled; vendor preset: disabled)
       Active: active (running) since Thu 2020-03-05 08:22:38 EST; 5s ago
         Docs: https://www.postgresql.org/docs/12/static/
    [root@localhost ~]# netstat -lnupt |grep postmaster
    tcp        0      0 0.0.0.0:5432            0.0.0.0:*               LISTEN      35219/postmaster    
    tcp6       0      0 :::5432                 :::*                    LISTEN      35219/postmaster 
    

    2.7、配置环境变量

    配置环境变量,使“psql”客户端命令可以再全局使用。

    [root@localhost ~]# vi /etc/profile
    # PostgreSQL
    export POSTGRESQL_BIN="/usr/pgsql-12/bin/"
    export PATH=$PATH:$POSTGRESQL_BIN
    [root@localhost ~]# source /etc/profile
    

    2.8、查看数据库版本

    切换操作用户“postgres”,“postgres”用户是PostgreSQL的超级用户。

    [root@localhost ~]# sudo -i -u postgres
    -bash-4.2$ psql
    psql (12.2)
    Type "help" for help.
    postgres=# SELECT version();
                                                     version                                                 
    -------------------------------------------------------------------------------------------------------
     PostgreSQL 12.2 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-39), 64-bit
    (1 row)
    

    2.9、查看数据库列表

    postgres=# select pg_database.datname from pg_database;
      datname  
    -----------
     postgres
     template1
     template0
    

    2.10、修改"postgres"用户密码

    默认情况下"postgres"用户没有密码,我们需要给超级管理员一个密码。

    postgres=# password
    Enter new password: XXX
    Enter it again: XXX
    postgres=# exit
    -bash-4.2$ exit
    

    3、创建一个数据库"sonarqube"

    postgres=# exit
    -bash-4.2$ createdb sonarqube
    

    4、创建一个数据库用户"sonarqube"并授权

    sonarqube=# CREATE USER sonarqube WITH PASSWORD 'abc-123';
    sonarqube=# GRANT all ON all tables in SCHEMA PUBLIC to sonarqube;
    

    5、连接数据库"sonarqube"测试

    sonarqube=# exit
    -bash-4.2$ exit
    logout
    [root@localhost ~]# PGPASSWORD='abc-123' psql --host='172.16.254.129' --port='5432' --username='sonarqube' sonarqube
    sonarqube=> 
    

    6、安装依赖

    [root@localhost ~]# yum -y install java-11-openjdk
    

    7、安装Sonarqube

    7.1、下载Sonarqube

    [root@localhost ~]# wget https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-8.2.0.32929.zip
    

    7.2、解压包到指定目录

    [root@localhost ~]# unzip sonarqube-8.2.0.32929.zip -d /opt
    

    7.3、修改Sonarqube配置

    [root@localhost ~]# vi /opt/sonarqube-8.2.0.32929/conf/sonar.properties
    sonar.jdbc.username=sonarqube
    sonar.jdbc.password=abc-123
    sonar.jdbc.url=jdbc:postgresql://172.16.254.129/sonarqube
    sonar.web.host=0.0.0.0
    sonar.web.port=9000
    

    7.4、创建运行用户并授权程序目录

    Sonarqube不允许使用root用户运行,所以我们需要创建一个运行用户。

    [root@localhost ~]# useradd sonarqube
    [root@localhost ~]# chown -R sonarqube.sonarqube /opt/sonarqube-8.2.0.32929/
    

    7.5、启动Sonarqube服务

    可以先使用“sonar.sh console”命令测试运行下,若有问题可以通过错误信息进行排错。

    [root@localhost ~]# sudo -u sonarqube /opt/sonarqube-8.2.0.32929/bin/linux-x86-64/sonar.sh console
    jvm 1    | 2020.03.10 05:42:14 INFO  app[][o.s.a.SchedulerImpl] Process[ce] is up
    jvm 1    | 2020.03.10 05:42:14 INFO  app[][o.s.a.SchedulerImpl] SonarQube is up
    [root@localhost ~]# sudo -u sonarqube /opt/sonarqube-8.2.0.32929/bin/linux-x86-64/sonar.sh start
    [root@localhost ~]# netstat -lnupt |grep 9000
    3tcp6       0      0 :::9000                 :::*                    LISTEN      19957/java     
    

    8、使用浏览器访问到Sonarqube服务端WEB管理控制台

    在浏览器中输入“http://Server_IP:Port”。
    然后点击登陆,默认管理员账号:admin,密码:admin。

    9、设置Sonarqube管理控制台为简体中文

    点击菜单栏”Administration“--->"Marketplace",然后再搜素框输入"Chinese",然后选择中文插件,安装它,重启Sonarqube服务即可。


  • 相关阅读:
    数组中的逆序对
    第一个只出现一次的字符
    丑数
    把数组排成最小的数
    整数中出现1的个数
    连续子数组最大和
    JS之window对象
    JS之递归(例题:猴子吃桃)
    JS中函数的基础知识
    JS数组2(冒泡排列、数组里面查找数据)
  • 原文地址:https://www.cnblogs.com/network-ren/p/12460708.html
Copyright © 2020-2023  润新知