avatar

sonarqube安装与使用

提前准备

  • 第一步需要安装java环境
  • 需要使用到mysql数据库
  • 注意:
    • jdk版本:jdk-11.0.4_linux-x64_bin.tar.gz(sonarqube从7.9起,不再支持jdk11以下版本)
    • 数据库:PostgreSQL 10.10(sonarqube从7.8起,不再支持mysql)(功能验证也可以SonarQube内置的数据库,这样就不需要改数据库配置)

      安装

      下载sonarqube

      去官网找到下载连接,这里我下载7.8的版本,因为我使用mysql数据库和java8
      wget https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-7.8.zip
      安装好以后解压
      yum install -y zip unzip                    // 安装解压工具
      unzip sonarqube-7.8.zip // 解压安装包
      创建一个文件夹将其移过去
      mkdir /usr/sonarqube
      mv sonarqube-7.8 /usr/sonarqube

      修改mysql数据库

      vim /usr/sonarqube/sonarqube-7.8/conf/sonar.properties
      # 进入以后添加下面信息
      onar.jdbc.username=**
      sonar.jdbc.password=****

      sonar.jdbc.url=jdbc:mysql://ip:port/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance

      创建sonarqube用户

      创建SonarQube启动用户(SonarQube内置了elasticsearch,elasticsearch不允许使用root用户启动)
      useradd sonarqube
      passwd sonarqube
      # 赋予启动用户执行权限
      chown -R sonarqube:sonarqube /usr/sonarqube/sonarqube-7.8

      设置系统参数

      elasticsearch启动需要设置一些参数
      修改/etc/security/limits.conf文件,增加配置
      vim /etc/security/limits.conf
      # 增加配置
      # 解决每个进程最大同时打开文件数太小
      * soft nofile 65536
      * hard nofile 65536
      # 解决最大线程个数太低
      * soft nproc 4096
      * hard nproc 4096

      vim /etc/sysctl.conf
      # 虚拟内存太少
      vm.max_map_count=262144
      # 修改完执行命令生效
      sysctl -p

      启动

      登陆启动用户,启动程序
      su - sonarqube                                             # 以sonarqube用户登陆
      cd /usr/sonarqube/sonarqube-7.8/bin/linux-x86-64 # 进入启动命令目录
      ./sonar.sh start # 启动程序
      ./sonar.sh status #查看状态
      第一次可以会很慢,因为要创建数据库之类的信息
      如果中间出了什么问题,可以去sonarqube下面有个logs文件夹查看日志

      创建服务并设置启动方式

      在/etc/init.d/目录创建文件sonar,内容如下:
      #!/bin/sh
      #
      # rc file for SonarQube
      #
      # chkconfig: 345 96 10
      # description: SonarQube system (www.sonarsource.org)
      #
      ### BEGIN INIT INFO
      # Provides: sonar
      # Required-Start: $network
      # Required-Stop: $network
      # Default-Start: 3 4 5
      # Default-Stop: 0 1 2 6
      # Short-Description: SonarQube system (www.sonarsource.org)
      # Description: SonarQube system (www.sonarsource.org)
      ### END INIT INFO

      /usr/bin/sonar $*
      创建软连接和设置执行权限
      ln -s wrapper.confbin/linux-x86-64/sonar.sh /usr/bin/sonar
      chmod 755 /etc/init.d/sonar
      常用命令:
      service sonar start     // 启动服务
      service sonar stop // 关闭服务
      service sonar restart // 重启服务

      chkconfig sonar on // 设置开机启动
      chkconfig sonar off // 关闭开机启动

      汉化

      //不知道历史版本如何汉化

      使用

      安装成功以后需要先登录

      初始密码账号
      账号:admin
      密码:admin

      提醒

      因为我是拿来做jenkins集成的,所以直接使用sonarqube,如果想要直接使用sonarqube需要下载扫描器sonars canner

      可能出现的错误

      centos sonar Unable to start JVM: No such file or directory

      通过查看日志发现sonarqube无法启动,是因为这个错误
      解决方法是在找到soanrqube的安装目录,里面有个conf文件夹,打开后里面有一个叫做wrapper.conf
      vim wrapper.conf
      ## 将这个属性改为自己的java路径
      wrapper.java.command=/usr/java/jdk1.8.0_241/bin/java
      重新启动就好了
文章作者: zenshin
文章链接: https://zlh.giserhub.com/2020/04/01/cl35o0mqp002xp4tggkam52bk/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 zenshin's blog
打赏
  • 微信
    微信
  • 支付宝
    支付宝

评论