极限编程中一项建议实践即是持续集成,持续集成是指在开发阶段,对项目进行持续性自动化编译、测试,以达到控制代码质量的手段。 持续集成提供了及时发现问题、追踪问题、修复问题的机制,他替代了传统的在全部代码编写完毕后才提交QA部门进行测试的方法。 持续集成对单元测试较为依赖,测试覆盖率越高,单元测试越准确,越能体现持续集成的效果。持续集成主要在如下方面提供好处;
一、持续自动化测试(持续集成可经过时间间隔触发,或其余方式触发) 二、跟踪工程健康情况 三、强制性单元测试用例,验收测试用例等 四、静态代码检测,生成测试报告
Hudson是一款轻量级、易扩展、易配置的持续集成平台,该集成平台maven2有良好的支持,而且扩展插件丰富,包括findbug,PMD静态分析插件、emma单元测试覆盖率插件、junit测试报告插件等等。
下面咱们以Hudson持续集成平台为例,主要讲解怎么安装hudson和hudson扩展插件的使用,并以maven2工程为例,创建新做业。
下载Hudson的war包,http://hudson-ci.org/ 在tomcat环境里,在conf\Catalina\localhost 中新建配置文件hudson.xml,配置以下 <?xml version="1.0" encoding="UTF-8"?> <Context docBase="yourPath/hudson.war" path="hudson" reloadable="false"> </Context> yourPath为hudson.war的目录路径。 启动tomcat,访问http://localhost:8080/hudson便能访问咱们的持续集成应用了。Jboss环境中,复制war包到default目录下便可。以下为安装好之后的hudson访问界面。
应用搭建好之后,咱们按一下步骤操做
1、hudson全局配置信息 hudson配置,好比JDK的安装目录、Maven的安装目录等、SMTP服务器和用户密码等(用于编译失败提醒开发人员)
进入“系统管理”》“系统设置”,对maven的安装目录、jdk的安装目录进行设置,其余保持默认,如若须要高级配置,请打开问号下的提示信息,按照提示开启相应的选项。以下图为maven和jdk的配置信息。
2、新建任务和任务配置 hudson任务表示一个持续集成的项目,任务配置包括项目版本控制分支、集成任务触发器(什么时候触发项目集成)
进入“新建任务”,以下图选择maven2项目,并输入任务名称
点击保存后,进入任务“配置”项 任务配置包括主要的SVN的项目分支配置、项目集成触发机制配置和编译目标配置。配置后以下所示
一个集成任务就这样简单的配置好了,目前能持续的编译和测试,在发现测试不经过或者编译不经过的时候,由邮件发送给相关开发者(需自行配置)。
3、添加插件和运用插件 配置一个任务后,咱们但愿hudson不只能够经过集成发送测试报告、编译问题,还须要掌握静态代码的分析结果,好比findbus或pmd的分析结果,再或则是单元测试覆盖率的相应报告。接下来,咱们安装findbus插件。
进入“系统管理”》“管理插件”,以下
咱们在“可选插件”中找到findbugs插件,analysis-core插件,并下载。进入高级选项。上传并安装以下:
重启系统,手动触发集成,咱们能够见到最终的集成环境,包括插件的图示等,至此,hudson安装完毕,其中还有部分功能有待你们去研究和使用,插件也丰富多彩。