持续集成篇-- SonarQube代码质量管理平台的安装-阿里云开发者社区

开发者社区> whs0668> 正文

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

简介:
+关注继续查看

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的分布式系统架构实战

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
超大型系统的持续集成与持续交付解决方案与阿里宙斯盾
敏捷研发模式在小型团队中能够帮助开发人员进行快速迭代开发,但是对于大型团队而言,敏捷研发模式却并不能发挥应有的效果。那么如何实现超大型系统的持续集成与持续交付呢?本文就为你揭晓答案。
8440 0
SonarQube代码扫描与代码基线关联
SonarQube代码扫描与代码基线关联
63 0
持续集成之道:在你的开源项目中使用Travis CI
自从接触并践行了敏捷的一些实践之后,便深深的喜欢上了敏捷。尤其是测试自动化和持续集成这两个实践,可以显著的提高软件的质量和集成效率,实时检测项目健康度,使团队成员对项目保持充足的信心。 但是对于个人项目而言,虽然测试自动化好实现,但是要实现持续集成还是稍有难度。
981 0
【高质量代码】如何写出更高质量的C/C++代码(1):内存管理
内存的管理是C/C++开发程序过程中的一个比较麻烦的问题。对于经验不是足够丰富的程序员来说,开发比较复杂的程序的时候几乎肯定会遇到内存管理方面的bug。
898 0
使用IntelliJ IDEA开发SpringMVC网站(五)博客文章管理
原文:使用IntelliJ IDEA开发SpringMVC网站(五)博客文章管理 摘要 通过对博客文章的管理,实现外键操作。 目录[-] 八、博客文章管理 1、查看文章 2、添加博客        3、查看博文详情 4、修改博客内容 5、删除博客文章 九、尾声         1、如何部署 2、进一步的学习 3、ENDING 转载请注明出处:Gaussic(一个致力于AI研究却不得不兼顾项目的研究生) 。
1071 0
Linux基础命令---mail邮件管理程序
mail mail是一个邮件的管理程序,可以用来发送或者接收邮件。 此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、Fedora。 1、语法 mail [选项] addr 2、参数列表 -a file 将给定的文件发送出去 -b ...
957 0
让你的CI跑起来-《持续集成》读书总结
持续集成已经被公认为极具价值的一项工程实践。在初始化一个项目时一个重要的任务就是搭建持续集成服务器,编写构建脚本。在我工作的所有项目中都引入了持续集成机制。它已经像氧气一样成为软件开发过程中的一项工程活动。
884 0
使用setuptools自动安装python模块
setuptools绝对是个好东西,它可以自动的安装模块,只需要你提供给它一个模块名字就可以了,并且自动帮你解决模块的依赖问题。
648 0
+关注
28
文章
6
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载