安装环境要求
OpenJDK 1.8
Mysql 5.5以上
Centos7 4核8G服务器200G硬盘(根据实际情况可做调整)
SonarQube安装包(下载地址:https://www.sonarqube.org/downloads/SonarQube 6.7 )
一、系统更新
sudo yum update -y
二、调优
sudo vi /etc/security/limits.conf
* hard nofile 65535
* soft nofile 65535
#这个是修改open files的句柄数
* hard nproc 65535
* soft nproc 65535
#这个是修改max user processes的句柄数
修改90-nproc.conf的配置:
sudo vi /etc/security/limits.d/90-nproc.conf
修改* soft nproc 1024
为 * soft nproc 65535
三、 安装mysql
#下载mysql安装的RPM包
wget -P /opt http://linux.download.zwjk.com/mysql-community-release-el7-5.noarch.rpm
#导入RPM包
sudo rpm -ivh /opt/mysql-community-release-el7-5.noarch.rpm
#安装mysql
sudo yum install mysql-server -y
#启动
sudo service mysqld start
#开启外连和设置mysql的root密码
DBNAME="mysql" #数据库名称
USERNAME="root" #账户
PASSWORD="" #密码
#开启数据库外连的sql
wl_sql="update user set host='%' where user='root' and host='127.0.0.1'"
#提示用户输入数据库的root密码
echo -ne "\a 请输入数据库的root密码:"
read mysqlpwd
#设置数据库root密码的sql
csmm="update user set password=password('$mysqlpwd') where user='root'"
#执行上述2个sql
mysql -u${USERNAME} ${DBNAME} -e "${wl_sql}"
mysql -u${USERNAME} ${DBNAME} -e "${csmm}"
#重启数据库
sudo service mysqld restart
注意:在安装过程中会要求输入mysql数据库密码
四、安装Java环境
wget -P /usr/lib http://linux.download.zwjk.com/jvm.zip
#解压
unzip /usr/lib/jvm.zip -d /usr/lib/
配置环境变量
echo "export JAVA_HOME=/usr/lib/jvm
export PATH=\$JAVA_HOME/bin:\$PATH" >> /etc/profile
#生效
sudo chmod -R 755 /usr/lib/jvm
source /etc/profile
五、安装 SonarQube 6.7
cd 到SonarQube下载的目录
unzip ./sonarqube-6.7.zip /opt/
修改如下配置
vi /opt/sonarqube-6.7/conf/sonar.properties
增加数据库连接信息如下:
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false
增加数据库账号密码
sonar.jdbc.username=root
sonar.jdbc.password=mysqlpasswd
增加本机IP
sonar.web.host=localhost
调优Java环境(根据实际配置进行调优)
sonar.web.javaOpts=-Xmx1024m -Xms1024m -XX:+HeapDumpOnOutOfMemoryError
sonar.ce.javaOpts=-Xmx2048m -Xms2048m
sonar.search.javaOpts=-Xmx1024m -Xms1024m
六、新建用户ucmed
adduser ucmed
passwd ucmed
七、修改sonarqube-6.7文件夹权限
chown -R ucmed.ucmed /sonarqube-6.7
八、设置开机自启动项
vi /etc/rc.d/rc.local
增加如下内容
#增加mysql延迟100秒自启动
sleep 100
service mysqld start
#增加以ucmed用户延迟20秒自启动sonar
sleep 20
su - ucmed -c 'sh /opt/sonarqube-6.7/bin/linux-x86-64/sonar.sh start'
九、http://localhost:9000
默认账号:admin
默认密码:admin
十、配置Sonar
Administration > Marketplace > all 找到自己要安装的插件点击install
安装完成后重启sonar
在root用户下执行
su - ucmed -c 'sh /opt/sonarqube-6.7/bin/linux-x86-64/sonar.sh restart'
十一、sonar配置gitlab单点登录
- 要求配置gitlab、sonar,htpps域名访问
- 下载Gitlab插件:
- Wget https://github.com/gabrie-allaigre/sonar-auth-gitlab-plugin/releases/download/1.2.2/sonar-auth-gitlab-plugin-1.2.2.jar
- 把插件放到指定目录(./sonarqube-6.7/extensions/plugins/)
- mv ./sonar-auth-gitlab-plugin-1.2.2.jar/opt/sonarqube-6.7/extensions/plugins/
- 赋予ucmed用户权限
- Chown -R ucmed.ucmed /opt/sonarqube-6.7/extensions/plugins/
- 用ucmed用户重启sonar
- su - ucmed -c 'sh /opt/sonarqube-6.7/bin/linux-x86-64/sonar.sh restart'
十二、Web界面配置如下:
- 在GitLab中Admin> Application 中配置如下:
- 注意:Redirect URI中输入的是Sonar的域名地址,在Scopes中必须勾选API选项。
- 保存后显示如下界面:
- 根据Gitlab中的信息对应填写到Sonar后台
- 登录Sonar在 Administration > Gitlab 中配置如下:
注意:GitLab URL 中填写的是GitLab的域名地址,Application ID、Secret请复制GitLab中对应的信息,其它根据上图进行勾选即可,配置完成后重启Sonar服务。
- su - ucmed -c 'sh /opt/sonarqube-6.7/bin/linux-x86-64/sonar.sh restart'