提前准备
- 第一步需要安装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/sonarservice 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
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 zenshin's blog!
评论