1、准备
SonarQube版本:sonarqube-7.9.1.zip,官网地址:https://www.sonarqube.org/downloads/
jdk版本:jdk-11.0.4_linux-x64_bin.tar.gz(sonarqube从7.9起,不再支持jdk11以下版本)
数据库:PostgreSQL 10.10(sonarqube从7.8起,不再支持mysql)(功能验证也可以SonarQube内置的数据库,这样就不需要改数据库配置)
2、安装PostgreSQL
3、安装JDK
tar -zxvf /var/ftp/pub/jdk-11.0.4_linux-x64_bin.tar.gz // 解压安装包 ln -s /usr/local/jdk-11.0.4/bin/java /usr/bin/ // 创建软连接
也可以不用创建软连接,直接修改$SONARQUBE_HOME/conf/wrapper.conf文件中的wrapper.java.command参数,指定java命令行位置
wrapper.java.command=/usr/local/jdk-11.0.4/bin/java
4、解压SonarQube
yum install -y zip unzip // 安装解压工具 unzip /var/ftp/pub/sonarqube-7.9.1.zip // 解压安装包
5、修改 $SONARQUBE_HOME/conf/sonar.properties 文件,更改数据连接配置
sonar.jdbc.username=test_user sonar.jdbc.password=abc123
sonar.jdbc.url=jdbc:postgresql://localhost:5432/test_db
如果SonarQube与PostgreSQL在同一台主机,请将PostgreSQL的访问策略文件pg_hba.conf的配置项目127.0.0/32的密码策略有ident该为password或md5,详见:PostgreSQL的pg_hba.conf文件讲解
6、创建SonarQube启动用户(SonarQube内置了elasticsearch,elasticsearch不允许使用root用户启动)
useradd sonarqube passwd sonarqube
7、设置系统参数(elasticsearch启动需要设置一些参数)
未设置这些参数在$SONARQUBE_HOME/logs/es.log中出现以下错误:
8、赋予启动用户执行权限
chown -R sonarqube:sonarqube /usr/local/sonarqube-7.9.1/
9、登陆启动用户,启动程序
su - sonarqube // 以sonarqube用户登陆 cd /usr/local/sonarqube-7.9.1/bin/linux-x86-64 // 进入启动命令目录 ./sonar.sh start // 启动程序
10、登陆http://192.168.107.136:9000访问,默认用户名/密码为:admin/admin
11、创建服务并设置启动方式
这个部分验证失败,先放着这里,以后再处理。sonarqube自带的elasticsearch不允许root用户启动,但修改$SONARQUBE/bin/linux-x86-64/sonar.sh中的RUN_AS_USER配置项无效。
在/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 /usr/local/sonarqube-7.9.1/bin/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 // 关闭开机启动