SonarQube 7.8 是最后一个支持 MySQL 的版本,也是最后一个支持 jdk1.8 的版本,也就是说如果要使用 7.9 及以上的版本,SonarQube 的数据库就不能为 MySQL,并且需要 jdk11,但是公司要求要使用 MySQL,所以选择了 SonarQube 7.8,下面是具体的安装步骤。
注意 SonarQube 7.8 只支持数据库 5.6 以及上 8.0 以下的版本,其他版本的MySQL不支持。
在安装 SonarQube 前,需要安装 JDK1.8,如果已安装了 JDK1.8 可以跳过安装 JDK 的步骤。
进入 Java官方地址 下载 JDK1.8 源码安装包,下载时需要登录账户,用 QQ 邮箱注册登录就好了。
将源码包上传到 CentOS 8 系统中
将安装包解压到 /use/local 中
tar -zxvf jdk-8u321-linux-x64.tar.gz -C /usr/local
设置 jdk 环境变量
vim /etc/profile
在尾部添加以下内容
export JAVA_HOME=/usr/local/jdk1.8.0_321
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
执行 /etc/profile 文件
source /etc/profile
检查 JDK
下面是安装 SonarQube 7.8 的步骤。
安装需要用到的工具
yum install -y wget unzip
下载 SonarQube 7.8 的安装包
wget https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-7.8.zip
解压到 /use/local 目录下
unzip -d /usr/local/ sonarqube-7.8.zip
修改MySQL数据库配置
vim /usr/local/sonarqube-7.8/conf/sonar.properties
指定数据库用户名、密码、数据库名称,SonarQube 首次启动时会初始化数据库:
修改系统进程最大打开文件数:
vim /etc/security/limits.conf
在尾部添加以下内容:
* soft nofile 65536
* hard nofile 131072
* soft nproc 65535
* hard nproc 65535
修改 vm.max_map_count 的大小
vim /etc/sysctl.conf
在尾部添加以下内容:
vm.max_map_count=655360
让配置生效
sysctl -p
不能使root用户启动SonarQube,否则无法启动,创建一个sonar普通用户
useradd sonar
chown -R sonar:sonar /usr/local/sonarqube-7.8/
启动SonarQube,第一次启动会比较缓慢,耐心等待。
su - sonar /usr/local/sonarqube-7.8/bin/linux-x86-64/sonar.sh start
SonarQube默认访问端口号为 9000,开放该端口号,如果是云服务器,那就就请在安全组中放行 9000 端口。
firewall-cmd --permanent --add-port=9000/tcp
firewall-cmd --reload
温馨提示:SonarQube依赖于ES,ES会占用大量的计算机,如果计算机配置太低会启动失败,我的配置是4核4g,能正常启动。
启动失败具体的问题请查看 /usr/local/sonarqube-7.8/logs/ 下的日志文件。
访问 9000 端口,可以看到以下页面:
登录账号和密码默认都为admin