zoukankan      html  css  js  c++  java
  • sonarqube+gitlab+jenkins+maven集成搭建(一)

    一SonarQube介绍
    SonarQube 是一个开源的代码分析平台,用来持续分析和评测代码的质量,支持检测 Java 、 JavaScript 、C#、C、C++ 等二十几种编程语言。通过 SonarQube 可以检测出项目中潜在的Bug、漏洞、代码规范、重复代码、缺乏单元测试的代码等问题,并提供了 UI 界面进行查看和管理。
    架构
    SonarQube 由4部分构成:
    (1)SonarQube Server
    SonarQube Server 会启动3个主要进程:Web Server:UI 管理界面、Search Server:基于 Elasticsearch 的搜索服务、Compute Engine Server:计算引擎服务,进行代码分析并保存到SonarQube Database。
    (2)SonarQube Database
    存储 SonarQube 实例的配置信息,项目、视图等的快照信息
    (3)SonarQube Scanners
    分析项目代码,可在构建/持续集成 服务器 上运行一个或多个
    (4)SonarQube Plugins
    SonarQube 插件管理

    二搭建

    2.1环境要求
    主要是两个要求
    (1)JDK 8
    (2)MySQL (>=5.6 && <8.0) (也支持其他数据)
    1安装java.jdk
    服务器中存在openjdk   一般yum安装的jdk多为openjdk
    rpm -qa | grep java
    若有openjdk,会出现XXXX_openjdk_XXX的信息

    rpm -e --nodeps `rpm -qa | grep java`
    一次性删除成功

    将jdk包上传到服务器
    通过yum安装一款工具。
    #yum install lrzsz -y

    检查yum的安装包是否安装成功。
    #rpm -qa |grep lrzsz

    上图说明安装成功。
    上传文件的执行命令:
    #rz
    就会打开本地选择文件对话框,选择文件,确定就可以上传到当前所在目录。
    如果覆盖原文件,执行:
    #rz -y

    拷贝到当前目录下

    解压缩 jdk-8u181-linux-x64.tar.gz 文件:
    tar -zxvf jdk-8u181-linux-x64.tar.gz

    返回到上一级并创建 /usr/local/jdk 目录:
    cd ..
    mkdir -p jdk

    进入到 tools 目录后将 jdk-8u181-linux-x64 移动到 jdk 目录中:
    [root@localhost tools]# mv jdk1.8.0_181 /usr/local/jdk/
    [root@localhost tools]# cd /usr/local/jdk/

     

    打开 /etc/ 目录下的 profile 文件:
    vim /etc/profile
    将如下代码追加到 profile 文件末尾:
    JAVA_HOME=/usr/local/jdk/jdk1.8.0_181
    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

    source /etc/profile
    输入 java -version 查看 JDK 的版本:
    [root@localhost jdk]# source /etc/profile
    [root@localhost jdk]# java -version

    系统环境准备
    系统参数需要满足下述要求
    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.2 开始安装

    1、安装wget工具
    [root@localhost ~]#yum -y install wget
    wget 时提示 -bash:wget command not found,很明显没有安装wget软件包。一般linux最小化安装时,wget不会默认被安装。

    下载
    [root@localhost ~]#cd /opt
    [root@localhost opt]#wget https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-6.7.7.zip
    这里选择xshell rz将本地文件上传到服务器opt目录中

    链接:https://pan.baidu.com/s/1GKjECv9QjGNZ8aAJYdlXNw 密码:ojfg

    3、解压
    [root@localhost opt]#unzip sonarqube-6.7.7
    [root@localhost opt]#cd sonarqube-6.7.7

    4、增加用户sonar
    //创建sonar用户
    //目录组和用户都是sonar
    //sonarqube文件设置777
    //编写配置文件
    [root@localhost ~]# useradd sonar
    [root@localhost ~]# chown -R sonar.sonar /opt/sonarqube-6.7.7/

    5、编辑sonarqube配置文件
    [root@localhost sonarqube-6.7.7]# vi conf/sonar.properties
    sonar.jdbc.username=sonar
    sonar.jdbc.password=sonar
    sonar.jdbc.url=jdbc:mysql://192.168.1.220:3305/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false

    sonar.web.host=192.168.1.x
    sonar.web.port=x

     

    保存退出。

    6查看状态
    [root@localhost ~]# cd /usr/local/src/sonarqube-6.7.7
    [root@localhost sonarqube-6.7.7]# su sonar ./bin/linux-x86-64/sonar.sh status

     

    说明:一直无法运行的时候删除sonarqube-6.7.7 下的temp文件
    rm -f /opt/sonarqube-6.7.7/temp

     7运行脚本启动服务

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

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

     

    至此,SonarQube启动成功!

    排错说明:sonar.log  es.log  web.log

    8、登录web端
    在浏览器输入:http:// 192.168.1.217:9090
    初始用户:admin
    初始密码:admin
    登录后,可以点击自己账户修改密码。

  • 相关阅读:
    Ajax | Form 上传图片文件
    .NET Core 上传图片到七牛云
    限制input输入框只能输入 数字
    MySql操作命令创建学生管理系统
    大数据之kafka-05.讲聊聊Kafka的版本号
    大数据之kafka-02.搞定kafka专业术语
    消息队列的作用以及kafka和activemq的对比
    .Net Core 3.1迁移整理
    RabbitMQ的使用
    .NET Framework 项目多环境下配置文件web.config
  • 原文地址:https://www.cnblogs.com/duxingren/p/11356101.html
Copyright © 2011-2022 走看看