Hudson是一个持续集成(Continuous Integration)工具。持续集成已成为当前许多软件开发团队在整个软件开发生命周期内侧重于保证代码质量的常见做法。
个人理解,就是可以根据自己的设定的计划,不断发布新的版本。
那么跟在自己电脑上进行下rake进行下make有什么不同?不一样是可以运行的文件么?
区别在于,Hudson支持分布式发布,可以在多台电脑上进行。并且这些电脑,都可以登录到Hudson上面,然后获取这个更新的版本。而不是需要到某一个人的电脑上去拷贝。
其次,Hudson在构建时,还支持一些自动化测试,保证新增代码不会影响原有的问题。
再者,统一管理各个版本也是很有必要的,以免个人的误操作。并且可以按照规定日程,比如一周发布一个这样子。
1.1 主要作用:
(1)自动化地构建软件项目。
(2)构建可持续的自动化检查
(3)构建可持续的自动化测试
(4)构建成功后,后续过程的自动化,监控一些定时执行的任务。
具体描述如下:
[1] 程序员通过SVN客户端提交代码。
[2] Hudson用检查更新,svn update命令从svn中更新代码到本地。
[3] Hudson调用项目里的Ant或者Maven脚本进行构建。
[4] 构建结束,生成报告并记录日志,发送结果。
[5] 用户可随时通过浏览器在Hudson上浏览构建结果。
1.2 主要特性:
(1)易于安装。只要把Hudson.war部署到servlet容器,不需要数据库支持。
(2)易于配置。所有配置都可以通过web界面实现。
(3)集成RSS/E-mail/IM。通过RSS发布构建结果或当构建失败时email通知。
(4)生成Junit/TestNG测试报告。
(5)支持分布式构建。Hudson能让多台计算机一起构建/测试。
(6)支持文件识别。Hudson能够跟踪不同版本的jar
(7)支持插件扩展。
Hudson 目标
(1)持续集成:辅助性工作,重复性工作,减少到最低。
(2)服务器备份: SVN,Hudson。
参考:
http://marshal.easymorse.com/archives/1139
http://blog.csdn.net/wj_j2ee/article/details/7161657
http://wenku.baidu.com/view/20a2607a31b765ce050814b3.html
http://blog.163.com/txm3217@126/blog/static/2199523120108592859118/