极限编程中一项建议实践即是持续集成,持续集成是指在开发阶段,对项目进行持续性自动化编译、测试,以达到控制代码质量的手段。 java
持续集成提供了及时发现问题、追踪问题、修复问题的机制,他替代了传统的在全部代码编写完毕后才提交QA部门进行测试的方法。 mysql
持续集成对单元测试较为依赖,测试覆盖率越高,单元测试越准确,越能体现持续集成的效果。持续集成主要在如下方面提供好处; linux
一、持续自动化测试(持续集成可经过时间间隔触发,或其余方式触发) web
二、跟踪工程健康情况 sql
三、强制性单元测试用例,验收测试用例等 数据库
四、静态代码检测,生成测试报告 apache
Hudson是一款轻量级、易扩展、易配置的持续集成平台,该集成平台maven3有良好的支持,而且扩展插件丰富,包括Findbug,PMD静态分析插件、emma单元测试覆盖率插件、junit测试报告插件等等。编程
这是一套从开始到结束过程当中的一个完整的代码检测,规范化,分析代码质量的一个平台。vim
1、首先介绍一下Sonar浏览器
这个是一个开源的质量管理平台,专一于从项目到类方法的持续的分析和测量技术质量,它把代码质量相关软件集成到一块儿统一管理。它支持插件式管理,好比Checkstyle,Findbug,PMD这些插件。而后经过分析把结果保存在数据库中,用户能够经过浏览器进行浏览查看分析结果,sonar的整个流程以下图所示。
接下来简单介绍一下他的流程:
代码经过Sonar的检查包括Sonar的插件,而后进行下一步;
把检查的结果经过浏览器显示出来,经过sonar的配置文件指定的链接数据库,把检查的结果与数据库中的检查规则进行比较、分析而后得出代码漏,质量不高,不规范等问题;
安装和配置sonar步骤:
1.安装mysql,修改sonar链接DB方式为mysql
# yum install mysql-connector-odbc.x86_64 mysql-server //我是用rpm包装的,固然能够编译安装
# service mysqld start
# mysql
mysql> CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;
mysql> grant all privileges on sonar.* to 'sonar'@'localhost' identified by 'sonar';
mysql> flush privileges;
2.安装sonar
下载sonar而后放到服务器上
# cp sonar-3.3.2.zip /usr/local/
# unzip sonar-3.3.2.zip
# ln -sv sonar-3.3.2 sonar
# vim sonar/conf/sonar.properties 修改sonar的配置文件
把如下几项打开:
sonar.jdbc.username: sonar //受权链接数据库的账号
sonar.jdbc.password: sonar //链接数据库密码
#----- MySQL 5.x/6.x
# Comment the embedded database and uncomment the following line to use MySQL
sonar.jdbc.url: jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true
# Optional properties
sonar.jdbc.driverClassName: com.mysql.jdbc.Driver
3.启动sonar
# sonar/bin/linux-x86-64/sonar.sh start
2、其次介绍一下Hudson
Hudson是一种革命性的开放源码 CI 服务器,它具备强大的插件框架 ,因此很容易添加特性,例如添加 tomcat 插件后,能够方将 build 好的 war 包方便的部署到 Tomcat 里。他的整个流程大体以下图所示。
Hudson是一个调度管理接口,经过调度Maven执行构建和返回,经过调用sonar进行对源码开发归法进行检查,而Sonar又能够利用插件进行检查,这样就能更方便的进行有机结合。
而后经过浏览器能够查看构建结果和记录,因为Hudson能够把war包放到tomcat中,因此只须要一个tomcat环境便可实现浏览。
配置Hudson
1.安装jdk环境
# cd /usr/local
# chmod +x jdk-6u25-linux-x64.bin
# ln -sv jdk1.6.0_25 java
# vim /etc/profile 添加java环境变量
#set jdk env
JAVA_HOME=/usr/local/java
CLASSPATH=$JAVA_HOME/lib/tools.jar
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH
2.解压安装tomcat
# tar xf apache-tomcat-6.0.36.tar.gz
# ln -sv apache-tomcat-6.0.36 tomcat
# vim /etc/profile 添加tomcat的环境变量
#set tomcat env
export TOMCAT_HOME=/usr/local/tomcat
export BASE_HOME=/usr/local/tomcat
# source /etc/profile
# $TOMCAT_HOME/bin/startup.sh start
vim /etc/init.d/tomcat添加一下内容
#chkconfig: 2345 63 37
#description:tomcat server
TOMCAT_HOME=/usr/local/tomcat
BASE_HOME=/usr/local/tomcat
JAVA_HOME=/usr/local/java
CATALINA_HOME=/usr/local/tomcat
启动tomcat便可。
3.下载hudson
# wget http://java.net/downloads/hudson/war/hudson-2.2.1.war
# mv hudson-2.2.1.war /usr/local/tomcat/webapps/hudson.war
而后从新启动tomcat
#/usr/local/tomcat/startup.sh start
而后在浏览器上输入http://IP:8080/hudson便可访问
访问以下图所示:
下一篇博客将介绍如何进行代码检查和构建整个过程。