如果用java1.8和mysql,则SonarQube版本不能超过7.8,看这里。
SonarQube7.8安装包地址:
https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-7.8.zip
安装步骤:
1、下载SonarQube安装包
wget https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-7.8.zip
2、解压缩,若没有unzip则先安装 yum install unzip
unzip sonarqube-7.8.zip
3、将文件夹移动到/usr/local/目录
mv sonarqube-7.8.zip /usr/local/sonarqube
4、添加用户(如果已有用户则直接修改sonarqube所属用户即可)
sudo adduser sonar
sudo passwd sonar
chown -R sonar:sonar /usr/local/sonarqube
5、准备好mysql环境,安装方法在这儿
6、mysql创建一个数据库和用户
mysql -h127.0.0.1 -uroot -p密码
create database sonar;
create user 'sonar'@'%' identified by 'password';
grant privileges on *.* to 'sonar'@'%';
查看用户权限:
show grants for 'sonar'@'%';
7、修改sonar数据库配置
vim /usr/local/sonarqube/conf/sonar.properties
sonar.jdbc.username=sonar
sonar.jdbc.password=
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false
8、启动SonarQube
cd /usr/local/sonarqube/bin/linux-x86-64
sh sonar.sh start
查看SonarQube运行状态sh sonar.sh status,大概率失败
9、启动失败解决(重点)
SonarQube日志都在这个目录/usr/local/sonarqube/logs
如果启动失败,重点关注sonar.log、es.log和web.log。
具体错误具体分析,可参考该链接
需要注意的点有:
不要用root启动SonarQube,SonarQube会启动一个es,因为安全问题es不允许root运行。
注意查看服务器的ulimit和vm.max_map_count配置,如果出现以下报错,则需要修改vm.max_map_count参数,以及服务器的ulimit参数,具体修改方式参考这个。
修改后需重启服务器才能使配置生效
reboot
ulimit -a查看
如果出现以下报错,则是数据库账号权限有问题,请再次检查mysql配置。
如果SonarQube正常启动了,但是无法访问ip:9000,则检查服务器的防火墙配置,将9000端口开放:
firewall-cmd --list-all;
firewall-cmd --zone=public --add-port=9000/tcp;
firewall-cmd --reload;