更新时间:2024-05-08 GMT+08:00
分享

SonarQube 部署

查看MySQL引擎

结合 SonarQube,MySQL 数据库最好使用 InnoDB 引擎,可提高性能。 看你的 mysql 现在已提供什么存储引擎:

mysql> show engines;
图1 查看引擎1

看你的 mysql 当前默认的存储引擎:

mysql> show variables like '%storage_engine%';
图2 查看引擎2

如果查询的结果和上图显示的效果不一致,需要做以下配置:

修改 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%';
图3 查看引擎3

配置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%';
图4 验证缓存

创建 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/

图5 下载地址

下载sonarqube

  1. 切换到普通用户(heyuqiang)
    $ cd /heyuqiang
    $ wget https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-6.7.7.zip

  1. 解压安装
    $ 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 端口是否已被占用)

添加防火墙例外

  1. 使用root用户执行命令 开启9000 端口。
    firewall-cmd --zone=public --add-port=9000/tcp --permanent

  1. 重新加载
    firewall-cmd --reload

启动和测试

  1. 切换到普通用户(heyuqiang)启动SonarQube Web Server
    $ /home/heyuqiang/sonarqube/bin/linux-x86-64/sonar.sh start

    初次启动会自动建表和做相应的初始化

  1. 查看日志
    $ tail -f /home/heyuqiang/sonarqube/logs/sonar.log

  1. 浏览器访问:http://192.168.1.180:9000/sonarqube/
    图6 启动服务

    看到上图页面说明sonarqube服务启动了。

初次登录sonarqube设置

  1. Log in

    sonarqube默认用户名:admin 密码:admin

    图7 登录

  1. 首次登录成功后提示生成令牌,输入用户单击Gennerater

  1. >heyuqiang: 6700712a 2c8ef60a36dfc67e77a6a665491aa9b9
    图8 设置1
    图9 设置2

  1. 选择开发语言和工具
    图10 开发语言与工具选择1
    mvn sonar:sonar \
    -Dsonar.host.url=http://192.168.1.180:9000/sonarqube \
    -Dsonar.login=51bfdf87b23c2f2b79e940b10b33093b0ec97586
    图11 开发语言与工具选择2

    完成初次设置。

安装chinese Pack 汉化包

图12 汉化包安装1

  1. 单击Install 安装汉化包。
    图13 汉化包安装2

  1. 安装完成之后单击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/

图15 管理员账号密码修改

相关文档