文章目录
1.安装前环境准备
-
centos 7.0
-
前置条件1:jdk1.8
-
前置条件2(非必须,也可使用其他数据库,sonar默认是H2数据库):mysql-5-6,其中如何在centos7.0中安装MySQL看另一篇文章Centos 7安装Mysql
2.下载及解压安装包
-
通过官网下载安装包:https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-7.7.zip
这里使用的是7.7版本。或者通过命令直接官网下载压缩包
wget https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-7.7.zip
-
下载对应的压缩包放在/opt/目录下,或自定义文件夹中
-
解压安装包
unzip sonarqube-7.7.zip
解压完成后在对应目录下存在sonarqube-7.7文件夹,如图所示:
3.修改sonar配置并启动sonar服务
1. 修改wrapper.conf配置文件
-
修改解压后的sonar文件内的wrapper.conf配置信息,存放目录为:(/opt/sonarqube-7.7/conf)
修改信息如下:#修改wrapper的jdk目录,该目录为对应系统中安装jdk目录 rapper.java.command=/usr/bin/java
2. 新增系统用户
-
为系统创建一个sonar用户。因为SonarQube服务器的ElasticSearch组件不允许使用root启动,所以这里为服务器专门创建一个Sonar用户,用于启动SonarQube服务器进程,通过以下命令创建sonar用户并且设置用户密码
adduser sonar passwd sonar
创建成功后如图所示:
-
把SonarQube服务器目录赋权给sonar用户
通过以下代码实现chown -R sonar:sonar /opt/sonarqube-7.7
可以查看到对应sonarqube-7.7的用户权限变更为sonar
3.修改系统参数
在安装环境为Linux时,需要保证如下系统级别的参数设置。
- vm.maxmapcount:大于或等于262144
- fs.file-max:(系统所有进程一共可以打开的文件数量)大于或等于65536
- ulimit -n:(可以打开最大文件描述符的数量)大于或等于65536
可通过执行如下命令动态修改这些内核参数:
sysctl -w vm.max_map_count=262144
sysctl -w fs.file-max=65536
ulimit -n 65536
如果要永久修改 这些系统级别参数,需要修改下面两个文件,并且重启系统。
-
修改/etc/sysctl.conf
# 增加如下信息 fs.file-max = 65536 vm.max_map_count = 262144
保存并退出
-
修改/etc/security/limits.conf
# 增加如下配置信息 * soft nofile 65536 * hard nofile 65536
保存并退出 -
重启系统
reboot
4. 启动sonarqube服务器
-
sonar为各个系统提供了对应的启动脚本,我们是在centos7中安装部署的soanr,因为我们使用的是Linux-x86-64下的启动脚本。特别注意,我们上一步创建sonar用户,这里启动时需要切换到对应用户下如下:
# 切换成Sonar用户 su sonar # 启动sonarqube服务器 ./bin/linux-x86-64/sonar.sh start
启动成功后如图所示:
-
web端访问sonar,并登录默认管理员账号
访问地址:http://ip:9000,使用默认管理员账号登陆即可:admin/admin
4. sonar服务连接Mysql数据库
提供MySQL数据库,不在本机也可以,sonarqube初次运行时需要在数据库中初始化一些表来存储数据。因此需要在这一步创建一sonar数据库即可,sonar会自动为我们创建表。
-
进入MySQL数据库
mysql -u root -p # 输入数据库密码进入数据库
-
新增sonar数据库,命令如下:
CREATE DATABASE IF NOT EXISTS sonar DEFAULT charset utf8 COLLATE utf8_general_ci;
创建成功后如图,新增一数据库sonar。
-
修改sonar配置文件,配置MySQL数据库
需修改sonar中的配置文件sonar.properties,具体修改如下:vim /opt/sonarqube-7.7/conf/sonar.properties
保存并退出 -
重启sonarqube服务
./sonar.sh restart
-
重新访问sonar地址,查看对应数据库
重新登陆后台sonar时,会出现片刻等待,由于后台需要在对应数据库新建一些表,如下所示: