SonarQube(代码质量管理)环境搭建
继 Centos6.6安装Subversion版本控制工具(Subversion + Apache + jsvnadmin) 后,搭建代码质量管理环境
IP:10.0.210.112
环境:Centos6.6、JDK7、Mysql5.6、sonarqube-4.5.6(LTS)
操作用户:root
准备工作:JDK7已经安装好
1:安装Mysql5.6:
(可参考前面Centos6.6搭建Subversion版本控制工具的安装步骤,如果已经安装,则无需看以下1234步)
# rpm -qa | grep mysql (查看该操作系统上是否已经安装了Mysql,有的话,用rpm -e 命令 或者 rpm -e --nodeps 命令来卸载)
# yum install mysql-server mysql mysql-devel
# service mysqld start
# chkconfig --list | grep mysql (检查服务是否开机启动,发现刚安装的mysql不是开机启动)
mysqld 0:off 1:off 2:off 3:off 4:off 5:off 6:off
# chkconfig mysqld on (设置开机启动)
mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off
2:配置防火墙:
# vi /etc/sysconfig/iptables 增加下面一行
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
# source iptables restart (重启防火墙)
3:设置Mysql数据库root用户的密码:
# mysqladmin -u root password 'wangfajun'
# mysql -r root -p (登录数据库)
4: Mysql 授权远程访问(先用root登录mysql):
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'wangfajun' WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;
5: 配置Mysql (结合SonarQube,Mysql 数据库最好使用InnoDB引擎,可提高性能):
mysql> show engines; (查看你的mysql当前已提供的存储引擎);
mysql> show variables like '%storage_engine%'; (查看当前mysql默认的存储引擎)
修改Mysql存储引擎为InnoDB引擎,在配置文件/etc/my.cnf中的[mysqld]下面加入default-storage-engine=INNODB
# vi /etc/my.cnf
[mysqld]
default-storage-engine=INNODB
#service mysqld restart (重启Mysql)
再次查看默认存储引擎
mysql> show variables like '%storage_engine%';
innodb_buffer_pool_size 参数值尽量设置大一点,这个参数主要是缓存innodb表的索引,数据,插入数据时的缓冲
默认值:128M
专用mysql服务器设置的大小:操作系统内存的70%-80%最佳
设置方法:my.cnf文件[mysqld]下面加入innodb_buffer_pool_size参数
[mysqld]
innodb_buffer_pool_size = 256M
(我的虚拟机只有1个G的内存,而且还装了很多其他的服务,所有只设置这么大)
设置Mysql的查询缓存 query_cache_size,最少设置15M
# vi /etc/my.cnf
[mysqld]
query_cache_type = 1
query_cache_size = 32M
#service mysqld restart (重启mysql)
验证缓存设置是否生效:
mysql> show variables like '%query_cache%';
6: 手动创建sonarqube的Mysql数据库
7: 安装SonarQube的Web Server:
下载最新的LTS版本的SonarQube安装包(当前版本为:sonarqube-4.5.6[LTS])
# unzip sonarqube-4.5.6.zip
# mv sonarqube-4.5.6 sonarqube (重命名)
# cd sonarqube/conf/
# vi sonar.properties
sonar.jdbc.username=root
sonar.jdbc.password=wangfajun
### mysql 5.x :
sonar.jdbc.url=jdbc:mysql://localhost:3306/svnadmin?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance
sonar.web.host=0.0.0.0
sonar.web.context=/sonarqube
sonar.web.port=9090
(端口默认的是9000,注意此端口是否被占用,我之前搭建svn管控台的时候设置的是9000,所以这里修改为9090)
配置防火墙:
# vi /etc/sysconfig/iptables 增加下面一行
-A INPUT -m state --state NEW -m tcp -p tcp --dport 9090 -j ACCEPT
# service iptables restart (重启防火墙)
# /root/sonarqube/bin/linux-x86-64/sonar.sh start (启动Sonarqube Web Server)
浏览器访问:http://10.0.210.112:9090/sonarqube :
点击Log In,账号密码默认:admin/admin
到此,Sonarqube 安装完毕