美文网首页
Linux下sonarqube+jenkins安装

Linux下sonarqube+jenkins安装

作者: w_dll | 来源:发表于2019-08-11 19:37 被阅读0次

    1. SonarQube安装

    1.1准备环境

    Tips:

    sonarqube5.6+ 必须要JDK1.8

    sonar scanner 2.5+后也要使用JDK1.8,所以JDK1.7下就要用scanner 2.4。

    sonar的安装和启动不用root用户,而是用低权限的linux用户。

    1. 数据库配置
      首先确保mysql5.6版本及以上。
      创建SonarQube 服务所需的数据库:
    #mysql -uroot -p
    //输入你的数据库密码
    mysql> CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;
    mysql> CREATE USER 'sonar' IDENTIFIED BY 'sonarpassword';
    mysql> GRANT ALL ON sonar.* TO 'sonar'@'%' IDENTIFIED BY 'sonar';
    mysql> GRANT ALL ON sonar.* TO 'sonar'@'localhost' IDENTIFIED BY 'sonar';
    mysql> FLUSH PRIVILEGES;
    

    修改max_allowed_packet

    #vim /etc/my.cnf
    [mysqld]
    max_allowed_packet = 300M
    //重启
    #service mysqld restart
    //重启后查看
    #mysql -uroot -p
    mysql> show variables like '%max_allowed_pack%';
    +--------------------+-----------+
    | Variable_name      | Value     |
    +--------------------+-----------+
    | max_allowed_packet | 314572800|
    +--------------------+-----------+
    1 row in set (0.00 sec)
    --------------------- 
    
    1. SonarQube、Sonar-Scanner添加环境变量
      将下载的sonarqube-6.7.4.zip、sonar-scanner-cli-3.2.0.1227-linux.zip
      解压后移动到/usr/local目录下
    #unzip sonarqube-6.7.4.zip /usr/local
    #unzip sonar-scanner-cli-3.2.0.1227-linux.zip /usr/local
    

    添加环境变量

    #vi /etc/profile
    //在末尾加上:
    export SONAR_HOME=/usr/local/sonarqube-6.7.4
    export SONAR_SCANNER_HOME=/usr/local/sonar-scanner-3.2.0.1227-linux
    PATH=$PATH:$SONAR_HOME/bin:$SONAR_SCANNER_HOME/bin
    //使修改生效
    #source /etc/profile
    

    按如下配置修改sonar.properties 文件:

    #vi $SONAR_HOME/conf/sonar.properties
    //在开头加上
    sonar.jdbc.username=sonar
    sonar.jdbc.password=sonar
    
    sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance
    
    sonar.web.host=172.16.221.39//ip address
    sonar.web.context=/
    sonar.web.port=9000
    

    1.2 SonarQube 配置

    # useradd esuser
    # chown -R esuser.esuser $SONAR_HOME
    # chmod 777 -R $SONAR_HOME
    

    1)修改elasticsearch.yml参数

    #vi $SONAR_HOME/elasticsearch/config/elasticsearch.yml
    //在开头加上
    bootstrap.memory_lock: false
    bootstrap.system_call_filter: false
    network.host: 172.16.221.39
    http.port: 9200
    ...
    ...
    ...
    ---------------------
    //找到以下参数改为false
    bootstrap.memory_lock: false
    bootstrap.system_call_filter: false
    

    2)修改limits.conf参数

    #vi /etc/security/limits.conf
    //开头添加如下内容:
    * soft nofile 65536
    * hard nofile 131072
    * soft nproc 2048
    * hard nproc 4096
    

    3)修改20-nproc.conf参数
    不同环境可能配置文件名不同,在/etc/security/limits.d/文件夹下寻找

    # vi /etc/security/limits.d/20-nproc.conf
    //修改如下内容:
    * soft nproc 1024
    //将1024改为2048
    * soft nproc 2048
    

    4)修改sysctl.conf文件

    #vi /etc/sysctl.conf
    //添加下面配置:
    vm.max_map_count=655360
    //修改完成后,执行以下命令生效
    #sysctl -p
    

    4 SonarQube启动

    1. 启动elasticsearch
    # su esuser 
    #$SONAR_HOME/elasticsearch/bin/elasticsearch -d
    //查看是否启动成功,能看到9200和9300证明就成功了
    #netstat -nultp
    ![启动成功端口](https://img.haomeiwen.com/i17035812/b6381a53d5b79f8c.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
    
    1. 启动sonarqube
    #$SONAR_HOME/bin/linux-x86-64/sonar.sh start
    

    启动成功后,浏览器中访问 http://IP:9000/ ,界面如下:

    启动成功界面
    默认登录账户admin 密码 admin,可登录后修改密码。
    如需汉化,下载sonarqube 汉化包,放到$SONAR_HOME/extensions/plugins ,重启sonarqube (sonar.sh restart)即可。

    2 Sonar-Scanner安装

    2.1 建立文件夹

    #mkdir -p /root/java/test-project
    #mkdir -p /root/java/test-project/src
    //src文件夹下上传java文件进行测试,如helloword.java
    

    2.2 增加配置文件

    #cd /root/java/test-project
    

    在该目录下新建文件sonar-project.properties

    sonar.projectKey= test-project
    sonar.projectName= test-project
    sonar.projectVersion=1.0
    sonar.sources=src/
    sonar.language=java
    sonar.sourceEncoding=UTF-8
    

    2.3启动扫描

    # $SONAR_HOME/bin/sonar-scanner
    

    登录sonarqube网页,出现以下界面则代表扫描成功


    扫描成功界面

    3 Jenkins集成Sonarqube

    3.1安装Jenkins

    #rpm -ivh jenkins-2.107.3-1.1.noarch.rpm
    //安装后启动
    #service Jenkins start
    

    在浏览器中访问 http://IP:8080/
    首次进入会要求输入初始密码如下图

    初始界面
    密码为
    #cat /var/lib/jenkins/secrets/initialAdminPassword
    

    创建超级管理员账号


    账号界面

    Tips:
    因为Jenkins默认端口是8080,可能会导致端口冲突.修改Jenkins的默认端口即可:

    vi /etc/sysconfig/jenkins
    //修改JENKINS_PORT即可
    

    3.2离线安装插件

    登录至jenkins主界面
    系统管理-->管理插件-->高级-->上传插件

    插件管理界面
    上传sonar、svn有关插件,进行安装
    可参考-->点击

    3.3配置

    登录至jenkins主界面
    系统管理-->SonarQube servers


    sonarqube配置

    其中token获取方式如下:
    登录至sonarqube主界面
    右上角绿色图标-->我的账号-->安全


    sonar配置
    输入关键字(如admin)生成的令牌即Server authentication token
    登录至jenkins主界面
    系统管理-->全局工具配置

    输入jdk和sonarqube-scanner的home路径


    路径

    3.4 新建任务

    登录至jenkins主界面
    新建任务->创建一个自由风格的软件项目(项目名称自取,如:test)
    进入SVN配置
    其中url地址是检测代码存放地址,目录结构与本地扫描一致


    src_addr

    进入sonnarqube-scanner配置

    //配置内容如下
    sonar.projectKey= test_project 
    sonar.projectName=test_project
    sonar.projectVersion=1.0
    sonar.sources=./src
    sonar.java.binaries=./src/
    sonar.login=admin
    sonar.password=admin
    sonar.language=java
    sonar.sourceEncoding=UTF-8
    

    如图:


    scanner

    登录至sonarqube界面
    配置scm和svn
    将scm设置为false、svn设置用户名和密码


    sonar

    3.5 启动项目

    进入jenkins界面,进入建立好的test项目,点击立即构建即可
    如成功,则可在sonarqube界面找到刚刚执行的记录。


    成功界面

    相关文章

      网友评论

          本文标题:Linux下sonarqube+jenkins安装

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