SonarQube 部署
查看MySQL引擎
结合 SonarQube,MySQL 数据库最好使用 InnoDB 引擎,可提高性能。 看你的 mysql 现在已提供什么存储引擎:
mysql> show engines;
看你的 mysql 当前默认的存储引擎:
mysql> show variables like '%storage_engine%';
如果查询的结果和上图显示的效果不一致,需要做以下配置:
修改 MySQL 存储引擎为 InnoDB
[mysqld] 下面加入 default-storage-engine=INNODB
# vi /etc/my.cnf [mysqld] default-storage-engine = INNODB
重启 mysql 服务器
# systemctl restart mysql.service
再次登录 MySQL 查看默认引擎设置是否生效
mysql> show variables like '%storage_engine%';
配置innodb_buffer_pool_size
innodb_buffer_pool_size 参数值设置得尽可能大一点 这个参数主要作用是缓存 innodb 表的索引,数据,插入数据时的缓冲 默认值:128M,专用 mysql 服务器设置的大小:操作系统内存的 70%-80%最佳。 设置方法:my.cnf 文件[mysqld] 下面加入 innodb_buffer_pool_size 参数
# vi /etc/my.cnf [mysqld] innodb_buffer_pool_size = 256M
这里设置为 256M,因为不是专用的 MySQL 数据库服务器,还有很多其他的服务需要占用系统内存
配置query_cache_size
设置 MySQL 的查询缓存 query_cache_size, 最少设置 15M
# vi /etc/my.cnf [mysqld] query_cache_type=1 query_cache_size=32M
重启 mysql 服务器
# systemctl restart mysql.service
验证缓存设置是否生效:
mysql> show variables like '%query_cache%';
创建 sonarqube 数据库(UTF-8 编码)
mysql> CREATE SCHEMA `sonar` DEFAULT CHARACTER SET utf8;
安装SonarQube Web Server
下载最新 LTS 版的 SonarQube 安装包(当前版本为 sonarqube-6.7.1.zip): 下载地址: http://www.sonarqube.org/downloads/
下载sonarqube
- 切换到普通用户(heyuqiang)
$ cd /heyuqiang $ wget https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-6.7.7.zip
- 解压安装
$ unzip sonarqube-6.7.7.zip $ mv sonarqube-6.7.7 sonarqube
配置sonarqube
$ cd /home/heyuqiang/sonarqube/conf $ vi sonar.properties sonar.jdbc.username=root sonar.jdbc.password=heyuqiang #----- MySQL 5.6 or greater # Only InnoDB storage engine is supported (not myISAM). # Only the bundled driver is supported. It can not be changed. sonar.jdbc.url=jdbc:mysql://192.168.1.181:3306/sonarqube?useUnicode=true&characterEncoding=utf8&rewrite BatchedStatements=true&useConfigs=maxPerformance&useSSL=false sonar.web.host=0.0.0.0 sonar.web.context=/sonar sonar.web.port=9000
保存以上配置(注意,要看看默认的 9000 端口是否已被占用)
添加防火墙例外
- 使用root用户执行命令 开启9000 端口。
firewall-cmd --zone=public --add-port=9000/tcp --permanent
- 重新加载
firewall-cmd --reload
启动和测试
- 切换到普通用户(heyuqiang)启动SonarQube Web Server
$ /home/heyuqiang/sonarqube/bin/linux-x86-64/sonar.sh start
初次启动会自动建表和做相应的初始化
- 查看日志
$ tail -f /home/heyuqiang/sonarqube/logs/sonar.log
- 浏览器访问:http://192.168.1.180:9000/sonarqube/
图6 启动服务
看到上图页面说明sonarqube服务启动了。
初次登录sonarqube设置
- 首次登录成功后提示生成令牌,输入用户单击Gennerater
- >heyuqiang: 6700712a 2c8ef60a36dfc67e77a6a665491aa9b9
图8 设置1
图9 设置2
- 选择开发语言和工具
图10 开发语言与工具选择1
mvn sonar:sonar \ -Dsonar.host.url=http://192.168.1.180:9000/sonarqube \ -Dsonar.login=51bfdf87b23c2f2b79e940b10b33093b0ec97586
图11 开发语言与工具选择2
完成初次设置。
安装chinese Pack 汉化包
- 单击Install 安装汉化包。
图13 汉化包安装2
- 安装完成之后单击Restart重启sonarqube 汉化完成。
图14 汉化包安装3
设置sonarqube 开机启动
使用root用户编辑/etc/rc.local文件,执行命令:
# vi /etc/rc.local
加入:
## sonarqube su - heyuqiang -c '/home/heyuqiang/sonarqube/bin/linux-x86-64/sonar.sh start'
温馨提示:
第一次使用开机启动时需要为/etc/rc.local 文件赋权限
chmod +x /etc/rc.local chmod +x /etc/rc.d/rc.local
修改管理员admin账号密码
浏览器访问:http://10.0.0.85:9000/sonar/account/security/