Hudson介绍
是近年来应用得比较广泛的、扩展的、一个持续集成工具。
什么是持续集成(Continuous Integration)? 持续集成(CI)是一种实践,可以让团队在持续的基础上收到反馈并进行改进,不必等到开发周期后期才寻找和修复缺陷。通俗一点儿说,就是指对于开发人员的每一次代码提交,都自动地把Repository中所有代码Check out到一个空目录,并且自动运行所有Test Case。如果成功则接受这次提交,否则告诉所有人,这是一个失败的Revision。 Hudson应用场景: 1. 持续、自动地构建/测试软件项目。 2. 监控一些定时执行的任务。 官方网站: Hudson有哪些特性? 易于安装:只要把hudson.war部署到servlet容器,不需要数据库支持。 易于配置:所有配置都是通过其提供的web界面实现。 集成RSS/E-mail/IM:通过RSS发布构建结果或当构建失败时通过e-mail实时通知。 生成JUnit/TestNG测试报告 分布式构建支持:Hudson能够让多台计算机一起构建/测试。 文件识别:Hudson能够跟踪哪次构建生成哪些jar,哪次构建使用哪个版本的jar等。 插件支持:Hudson可以通过插件扩展,你可以开发适合自己团队使用的工具。
Hudson工作原理
Ant才是构建工作的核心,而Hudson则相当于一个调度者、管理者
Hudson主界面
Hudson系统的基本配置
- Hudson工作目录
- JDK [JAVA_HOME](必要条件)
- ANT [ANT_HOME] / Maven [MAVEN_HOME](二选一)
- Subversion / CVS(二选一)
- Mail(SendMail/Postfix)
- 启用安全[可选]
使用Hudson构建项目
- 创建一个任务
- 填写任务信息
- 参数说明:
- Project Name:工程名称,可随便修改,不是在Eclipse中创建工程时的那个工程名,但允许与其同名。
- Description:对构建工程的一些说明和描述信息,可以留空,也可以是任意的HTML标记语言。
- Discard old builds:抛弃旧的构建。Hudson默认保留过去的构建信息。
- This build is parameterized:如果选择此选项,Hudson将允许您提供一套任意的键值对(key=value)参数,它们会被传递到构建过程里。配置的参数往往是构建运行环境中的一些环境变量。
- Disable Build:禁用工程构建。
- Execute concurrent builds if necessary:并发构建工程。
SVN设置:
- 参数说明:
- Repository URL:源码仓库的URL地址,例如
- Local module directory[可选]:设定本地目录,但它相对于Hudson的工作空间目录。默认是“.”,目录名URL设置。
- Repository depth option:infinity、empty、files、immediates,默认infinity。
- Ignore externals option:忽略额外参数
- Check-out Strategy:代码检出策略,默认 use ‘svn update’ as much as possible
- Repository browser:默认Auto
- SVN验证:
待续....
Ant脚本编写及构建结果查看
待续...