持续集成篇-- SonarQube代码质量管理平台的安装

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了持续集成篇-- SonarQube代码质量管理平台的安装相关的知识,希望对你有一定的参考价值。

视频教程:http://www.roncoo.com/course/view/85d6008fe77c4199b0cdd2885eaeee53

 

IP:192.168.4.221

环境:CentOS 6.6、JDK7、mysql5.1 、SonarQube-4.5.4(LTS)

root用户操作

准备工作:已安装JDK7并配置好了环境变量

 

1 、安装MySQL5.1

(可参考前面SVN管理平台的MySQL安装步骤,如果已安装则无需安装)

# rpm -qa | grep mysql      ## 查看该操作系统上是否已经安装了mysql数据库,

有的话,可以通过 rpm -e 命令 或者 rpm -e --nodeps 命令来卸载掉

# yum install mysql-server mysql mysql-devel

# service mysqld start

 

# chkconfig --list | grep mysqld

mysqld          0:off   1:off   2:off   3:off   4:off   5:off   6:off

用上面的命令查看到MySQL并没有设置开机启动,所以需要设置开机启动

# chkconfig mysqld on

 

为了方便远程管理,防火墙中打开3306端口

# vi /etc/sysconfig/iptables

-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

重启防火墙,使端口配置生效

# service iptables restart

 

设置MySQL数据库root用户的密码:

# mysqladmin -u root password ‘wusc.123‘

登录数据库:

# mysql -u root -p

 

MySQL授权远程访问(先用root登录mysql)

mysql> GRANT ALL PRIVILEGES ON *.* TO ‘root‘@‘%‘ IDENTIFIED BY ‘wusc.321‘ WITH GRANT OPTION;

mysql> FLUSH PRIVILEGES;

 

 

2、配置MySQL

结合SonarQube,MySQL数据库最好使用InnoDB引擎,可提高性能。

看你的mysql现在已提供什么存储引擎:mysql> show engines;

技术分享                                             

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

mysql> show variables like ‘%storage_engine%‘;

技术分享

修改MySQL存储引擎为InnoDB, 在配置文件/etc/my.cnf中的

[mysqld] 下面加入default-storage-engine=INNODB

vi /etc/my.cnf

[mysqld]

default-storage-engine=INNODB

 

重启mysql服务器

service mysqld restart

 

再次登录MySQL查看默认引擎设置是否生效

mysql> show variables like ‘%storage_engine%‘;

+----------------+--------+

| Variable_name  | Value  |

+----------------+--------+

| storage_engine | InnoDB |

+----------------+--------+

 

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数据库服务器,还有很多其他的服务需要占用系统内存)

 

设置MySQL的查询缓存query_cache_size ,最少设置15M

vi /etc/my.cnf

[mysqld]

query_cache_type=1

query_cache_size=32M

 

重启mysql服务器

service mysqld restart

 

验证缓存设置是否生效:

mysql> show variables like ‘%query_cache%‘;

+------------------------------+----------+

| Variable_name           | Value   |

+------------------------------+----------+

| have_query_cache         | YES    |

| query_cache_limit        | 1048576  |

| query_cache_min_res_unit   | 4096    |

| query_cache_size         | 33554432 |

| query_cache_type         | ON     |

| query_cache_wlock_invalidate | OFF    |

+------------------------------+----------+

 

3、创建sonarqube数据库(UTF-8编码)

  

二、安装SonarQube的Web Server

下载最新LTS版的SonarQube安装包(当前版本为sonarqube-4.5.4.zip):

下载地址:http://www.sonarqube.org/downloads/

技术分享

http://dist.sonar.codehaus.org/sonarqube-4.5.4.zip

下载:

# wget http://dist.sonar.codehaus.org/sonarqube-4.5.4.zip

解压安装:

# unzip sonarqube-4.5.4.zip

# mv sonarqube-4.5.4 sonarqube

 

编辑sonar配置:

# cd sonarqube/conf/

# vi sonar.properties

sonar.jdbc.username=root

sonar.jdbc.password=wusc.123

#----- MySQL 5.x

sonar.jdbc.url=jdbc:mysql://localhost:3306/sonarqube?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance

 

sonar.web.host=0.0.0.0

sonar.web.context=/sonarqube

sonar.web.port=9090

 

保存以上配置(注意,要看看默认的9000端口是否已被占用)

 

防火墙中打开9090端口:

# vi /etc/sysconfig/iptables

-A INPUT -m state --state NEW -m tcp -p tcp --dport 9090 -j ACCEPT

重启防火墙,使端口配置生效

# service iptables restart

 

启动 SonarQube Web Server

# /root/sonarqube/bin/linux-x86-64/sonar.sh start

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

 

浏览器中输入:http://192.168.4.221:9090/sonarqube/

技术分享

 

登录,默认用户名/密码为 admin/admin

技术分享

 

技术分享

 

 

到此,SonarQube已安装完毕,接下来是对SonarQube做相应的配置和使用

参考更多免费教程请加入Dubbo技术交流:548209960
Redis缓存技术交流组:288724942


以上是关于持续集成篇-- SonarQube代码质量管理平台的安装的主要内容,如果未能解决你的问题,请参考以下文章

持续集成篇-- SonarQube代码质量管理平台的安装

开发人员学Linux(11):CentOS7安装配置持续集成工具Jenkins

持续代码质量管理-SonarQube-7.3部署

gitlab+jenkins+maven+docker持续集成——sonarqube及sonarscanner代码审查

持续集成高级篇之Jenkins Pipeline 集成sonarqube

Docker搭建sonarqube