目 录
1. 持续集成
1.1 hudson--推荐序 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 hudson--中文任务名称 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3 hudson--插件管理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.4 hudson--HUDSON_HOME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.5 hudson--URL选项 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.6 hudson--系统管理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.7 hudson--配置邮件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.8 hudson--scp设置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.9 hudson--构建执行顺序 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.10 hudson--JOB_WORKSPACE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19
1.11 hudson--部署设置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
1.12 hudson--junit测试报告 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
1.13 hudson--安全设置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
1.14 hudson--build配置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
1.15 hudson--环境变量 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
1.16 hudson--构建依赖 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
1.17 hudson--findbugs报告 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
http://hanqunfeng.javaeye.com
第 2 / 36 页
1.1 hudson--推荐序
发表时间: 2010-12-30
实话,hudson真的是简单好用,向大家推荐一下。
不过首先说明一下,本人没用过除hudson以外的其它持续集成框架(据说Continuum,CruiseControl也很强
大),以前做持续集成,都是自己写shell脚本实现的,原理很简单,svn更新代码,使用ant编译和打包以及单元
测试,当然,这些都是通过shell脚本进行控制,然后也是通过shell进行部署,一个shell脚本就搞定了一切,其
实想想,功能也蛮强的,不过就是需要写shell脚本,不是所有人都清楚如何写shell脚本的,另外,跨服务器部
署时,为了不输入密码,需要建立ssh密钥认证,总之,需要有一定的linux基础。
最近接触到hudson,发现网上关于hudson的资料还是挺多的,如果对持续集成有了解的话,基本上搞定其常
用的配置功能还是很容易的,另外hudson的帮助还是很强大的,如果对某个配置不了解,可以点击其右侧的帮
助 ,足以见得其简单。
hudson基于界面进行配置,加上其有着众多的插件做支撑,只需要会编写ant(或者是maven,不过本人对
maven不是很熟悉)构建文件,这就够了,其它的交给hudson完成,足见其好用。
hudson的安装很简单,就是一个war包,丢到tomcat中就行,详细的说明请参考下面的链接(推荐大家先看以
下的介绍,本文并未对已经介绍的很明白的地方进行赘述):
英文原文:http://www.javaworld.com/javaworld/jw-12-2008/jw-12-hudson-ci.html?page=1
中文翻译:http://jdonee.javaeye.com/blog/310497
hudson就是一个平台,通过这个平台将一些我们已知的较常用的工具整合起来,以此实现持续集成,hudson
的使用并不难掌握,真正需要学习的还是那些基本的工具,比如ant或maven。
后续准备弄一个hudson的专题,介绍我使用hudson的一些经验。
http://hanqunfeng.javaeye.com
1.1 hudson--推荐序
第 3 / 36 页
1.2 hudson--中文任务名称
发表时间: 2010-12-30
使用tomcat作为hudson的容器时,选择系统管理后会出现如下提示:
Your container doesn't use UTF-8 to decode URLs. If you use non-ASCII characters as a job name etc,
this will cause problems. See Containers and Tomcat i18n for more details.
意思是tomcat容器没有使用UTF-8编码,所以不能使用 中文作为任务名称,可以在tomcat中进行配置。
<Connector port="8989" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="UTF-8" />
http://hanqunfeng.javaeye.com
1.2 hudson--中文任务名称
第 4 / 36 页
1.3 hudson--插件管理
发表时间: 2010-12-30
hudson的好用基本体现在其众多而强大的插件上,在“系统管理”中可以找到“插件管理”。
hudson默认自带了如下几个插件,可以在“已安装”中看到:
Hudson CVS Plug-in
Maven 2 Project Plugin
Hudson SSH Slaves plugin
Subversion Plugin
以上4个插件,看字面意思就能明白的,分别提供对不同工具的支持。
为了更好的使用hudson,还需要安装一些插件,在“可选插件”中进行选择:
Deploy to container Plugin:使用其进行war包部署,支持tomcat,jboss,glassfish
Hudson SCP publisher plugin:如果要跨服务器部署,就需要安装该插件,其使用scp的方式将文件从一个服
务器拷贝到另一台服务器
Hudson Email Extension Plugin:如果希望部署完成后能将结果以邮件的形式进行通知,可以安装该插件
我只安装了如上3个插件,感觉上基本的功能都够用了,建议使用hudson前先安装如上插件。
hudson通过网络自动下载插件,而且可以通过“更新”进行插件的更新。
如果不能连接外网,可以从已经安装过插件的hudson中将插件拷贝出来,hudson插件的后缀为hpi,然后通过
“高级”--“上传插件”进行安装。
http://hanqunfeng.javaeye.com
1.3 hudson--插件管理
第 5 / 36 页