持续集成离不开功能强大而又成熟的工具。其中最重要的三个工具是:构建工具,源码控制系统,持续集成服务器。
持续集成中三者基本的合作流程是:
- 持续集成服务器从源码控制系统中签出最新的代码。
- 持续集成服务器是用构建工具进行构建。
- 持续集成服务器发布构建结果。
由此可见这里持续构建服务器起主导作用,因此该工具的优劣直接关系到工作量及工作效果。
Maven2是很好的构建工具,除此之外Ant的用户群也很广泛。源码控制系统有大家熟悉的CVS,SVN等等,最近,分布式源码控制系统如GIT也流行起来。至于持续集成服务器,CruiseControl
在中国用得比较广泛,我也一直用它来做持续集成,也着实忍受了一些它的缺点,直到发现了Hudson。
我以前一直用 Maven2 + SVN + CruiseControl
做持续集成,所以对CruiseControl的配置也算比较熟悉了,但是每次要登陆到服务器上,改XML脚本,然后重启服务器,还担心脚本修改错误,实在不能算是个好的体验。而且,和Maven的集成过程中,遇到了一些比较头疼的问题,CruiseControl中所有东西都需要配置的,测试报告位置,结果构件(artifact)位置,都必须一行一行配置,但是多模块的Maven2项目中,这些位置分布在各个模块中,而且随时可能改变,于是修改CruiseControl的配置成了一件很费精神的体力活。究其原因,是CruiseControl没有针对Maven2做优化。
看看Hudson
能给我们Maven2用户带来什么。
- 一切配置都可以在友好的界面上完成,包括Hudson自身的配置和项目特有的配置,值得注意的是有些配置如MAVEN_HOME和Email
Server,只需要配置一次,所有的项目就都能用了。XML?不再需要了,不过如果你坚持,也可以通过XML配置。
- 支持Maven的模块(Module),Hudson对Maven2做了优化,因此它能自动识别Module,每个Module本身也是一个build
job。相当灵活。
- 测试报告聚合,所有模块的测试报告都被聚合在一起了,结果一目了然,使用CruiseControl,这几乎是件不可能完成的任务。
- 构件指纹(artifact fingerprint),每次build的结果构件都被很好的自动管理,无需任何配置就可以方便的浏览下载。
我个人觉得Hudson相比CruiseControl来说是个比较大的进步,尤其是在用户体验方面。如果使用Maven2作为构建工具,Hudson优势尽显。因此我强烈推荐。更多的Hudson特性,随着使用再慢慢发掘吧。
分享到:
相关推荐
持续集成工具hudson与maven2的结合
Hudson+Maven+SVN搭建持续集成环境
集成工具hudson与maven2的Hudson 安装及配置
使用hudson和maven完成持续集成,今天一个朋友过来问我,我就顺便录了一个简短的视屏,对使用做了一个简单的介绍,最大只参上传25M的文件,所以只能分两个包上传,希望能有需要的朋友有帮助
Hudson+Maven+SVN 搭建持续集成环境
Hudson+Maven+SVN_快速搭建持续集成环境.docx
持续集成-SVN+Maven+Hudson+Sonar PPT讲解,持续集成的原理
Hudson+Maven+Svn搭建持续集成环境.docx,非常不错
该文档收集了perfore (版本控制器) 与 hudson、maven这两种自动打包与发布的工具如何进行集成。
hudson svn maven 自动构建 deploy pom
详细介绍持续集成环境hudson+nexus+maven搭建
使用Hudson、Maven以及SVN进行持续化集成项目,实现项目的自动化构建、部署。
NULL 博文链接:https://yanguoyu.iteye.com/blog/540786
基于Hudson的持续集成,较笔者之前的一版本增加了对Maven内容的说明,部分内容依赖具体的项目,如未描述清楚,请见谅。
个人整合网上资源加上自己的实践 成功的搭建了一套Git Nexus私服 Hudson管理的环境 并附有Checkout commit deploy 实例
工作目的:实现自动化部署工作,以期提高开发项目的工作效率; 工作内容:利用开源的可持续集成工具,实现java项目的...二、 Maven对web项目的编译、打包与发布; 三、 Hudson对web项目实现自动化的编译、打包与发布;
hudson.war是基于Java研发的一款持续集成工具的安装包,hudson是一个可以扩展的持续集成引擎,主要是用它来监控一些定时执行的任务、持续、自动地构建/测试软件项目,有需要的欢迎下载使用。 hudson下载,放在tomcat...
Hudson持续集成实战 自动化部署教程
讲述hudson与maven的初步集成 适用于想了解maven的程序员