`
leonzhx
  • 浏览: 796632 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

第十一章 使用Hudson进行持续集成

阅读更多

1.   持续集成就是快速高频率自动构建 项目的所有源代码 ,并为项目成员提供丰富的反馈 信息。

 

2.   下图形象地展示了整个持续集成的过程:


 

 

3.   一次完整的持续集成包含如下步骤

    1)  持续编译 (旧代码应全部删除,重新编译所有最新代码)

    2)  持续数据库集成 (清理数据库,重新创建表结构)

    3)  持续测试 (单元测试仪 + 集成测试)

    4)  持续审查 Checkstyle PMD 、测试覆盖率,频率可以低一些)

    5)  持续部署

    6)  持续反馈

 

4.   持续集成的好处 :

    1)   尽早暴露问题。(修复问题成本低)

    2)   减少重复操作。

    3)   简化项目发布。

    4)   建立团队信心。

 

5.   Hudson(http://hudson-ci.org ) 提供了灵活的插件扩展框架,许多公司都选择了它,如 JBoss (http://hudson.jboss.org ) Sonatype (https://grid.sonatype.org/ci )

 

6.   Hudson 必须运行在 JRE1.5 以上。下载后为 hudson.war 可以直接运行:

java –jar hudson.war

其默认端口为 8080 ,可以访问 http://localhost:8080 。也可以使用 --httpPort 指定端口:

java –jar hudson.war –httpPort=8082

也可以将 war 包部署到 Jetty Tomcat Web 容器中。( context path /hudson

 

7.   Hudson 登录页面左边的“管理 Hudson (Manage Hudson), “系统管理”( Configure System )中可以配置多个 JDK Hudson 可以自动安装 JDK ),多个 Maven(Hudson 可以自动安装 Maven ), Email notification 配置( SMTP 服务器,接收者列表等)

 

8.   Hudson 在新建任务时,允许用户“ Build a free-style software project ”(不仅支持 Maven ,还支持 Ant Shell 等其他构建工具),“ Build a maven2 project ”(使用 Hudson 自带的 Maven )也可以复制一个已有的任务,或者监视一个外部的任务。

 

9.   Hudson 支持三种方式触发构建:

    1)   Build after other projects are built

    2)   Build periodically

    3)   Poll SCM

 

10.  H udson 使用著名的 UNIX 任务调试工具 Cron(http://en.wikipedia.org/wiki/Cron ) 所使用的配置方式来配置轮询代码仓库的频率:用 5 个字段表示不同的时间单位,字段之间用空格分隔:分( 0-59 时( 0-23 日( 1-31 月( 1-12 星期几( 0-7 0 7 表示周日)

几种特殊匹配符:

    1)   * :匹配范围内任何值

    2)   M-N :匹配 M-N 范围内任何值

    3)   A B Z :匹配多个值

    4)   */X M-N/X :范围内能被 X 整除的值

星期几与日期是或的关系。

 

11.   Hudson 的任务状态有:

蓝色:最近一次构建是成功的

红色:最近一次构建是失败的

黄色:最近一次构建成功但不稳定(测试失败了)

灰色:未被执行过或者已被禁用

任务的天气情况有:

晴: 80% 以上的集成是成功的

晴有云: 60%-80% 的集成是成功的

多云: 40%-60% 的集成是成功的

雨: 20%-40% 的集成是成功的

雷雨: 20% 以下的集成是成功的

 

12.   Maven 可以自定义视图从而对任务进行分类,并自定义想监控的属性列。

 

13.   在任务配置页面中可以设置 ”Post-build Actions” ,选择 ”Publish JUnit test result report” ,将 ”Test report XML” 设为 **/target/surefire-reports/TEST-*.xml Hudson 就会在任务状态页面中显示 maven-surefire-plugin 生成的测试报告。

 

14.   Maven 构建命令中添加 –Dmaven.test.failure.ignore ,失败的测试就不会导致构建失败,任务状态就不会变成红色,但会变成黄色。

 

15.   Hudson 能够在 Poll 代码仓库的时候自动提取 checkin 用户的信息。

 

16.   Hudson 默认会在以下情况发送 email notification:

    1)   失败的构建

    2)   成功构建后的一次不稳定构建

    3)   失败或不稳定构建后的一次成功构建

用户可以配置是不是每一个不稳定构建都发 email

 

17.   Hudson 使用用户目录下的 .hudson/ 目录作为其工作目录,可以通过设置HUDSON_HOME来改变其位置。 userContent 目录可以存放任何用户文件,通过 Hudson Http 服务可以访问该文件(在 Http://localhost:8080/userContent 下)。

 

  • 大小: 2.4 MB
分享到:
评论

相关推荐

    Maven实战(高清版)

    背景案例第5章 坐标和依赖第6章 仓库第7章 生命周期和插件第8章 聚合与继承第9章 使用nexus创建私服第10章 使用maven进行测试第11章 使用hudson进行持续集成第12章 使用maven构建web应用第13章 版本管理第...

    netbeans程序开发技术详解光盘内容

    7. **第11章**:可能涉及Java的集合框架,包括List、Set、Map等接口及其实现类的使用。NetBeans的代码提示可以帮助开发者快速掌握和应用这些数据结构。 8. **第6章**:可能讲解了Java的输入/输出(I/O)和文件操作...

    精通eclipse web开发 随书光盘

    12. **持续集成**:Eclipse可以与Hudson、Jenkins等持续集成工具集成,学习如何配置持续集成工作流。 "ch05"这个文件名可能代表第五章的内容,具体章节主题无法得知,但可能涉及上述某个或多个知识点的深入讲解。...

    Jenkins安装和使用.docx

    Hudson 由 Sun 公司在 2004 年启动,第一个版本于 2005 年在 java.net 发布。2007 年开始 Hudson 逐渐取代 CruiseControl 和其他的开源构建工具的江湖地位。在 2008 年的 JavaOne 大会上获得杜克选择大奖(Duke's ...

    Eclipse web开发从入门到精通(实例版)所有代码 光盘下载(part 3)

    "Eclipse Web开发从入门到精通(实例版)所有代码 光盘下载(part 3)"提供了书籍"Eclipse Web开发从入门到精通(实例版)"第十二章之后的源代码,这对于正在学习或已经深入Eclipse Web开发的读者来说是一份宝贵的...

    eclipse-jee-oxygen-R-win32-x86_64

    11. **持续集成**:通过插件与持续集成工具(如Jenkins、Hudson)集成,实现自动化构建和测试。 12. **团队协作**:支持协同开发,如通过Git或SVN进行代码审查和版本控制。 压缩包中的“eclipse”文件是Eclipse ...

    Java开发工具(eclipse)

    - Eclipse可与Hudson、Jenkins等持续集成工具集成,实现自动化构建和测试。 12. **国际化支持** - Eclipse支持多语言环境,开发者可以轻松地创建和管理国际化资源文件。 总结起来,Eclipse作为Java开发的主流...

    [大会PPT] 2010上海 2010SD软件开发2.0大会

    在21世纪的第一个十年里,软件开发领域经历了显著的变化,从传统的瀑布模型向敏捷开发、持续集成与交付等新范式转变。这次大会可能探讨了如何适应这些变化,以及如何通过新的工具和技术提升软件开发效率和质量。 ...

    flex测试总结

    8. **持续集成**:在大型项目中,持续集成(CI)是最佳实践。将Flex项目与Jenkins或Hudson等CI工具集成,可以自动执行构建和测试,确保代码质量。 9. **源码控制与版本管理**:在测试过程中,源码控制如Git或SVN...

    作为软件工程师,你必须知道的20个常识

    14. **持续集成**:通过持续集成工具(如Jenkins、Hudson等)自动化构建和测试,可以及时发现并修复错误,提高开发效率。 15. **ORM(对象关系映射)**:如Hibernate等ORM框架,可以简化数据库操作,减少数据访问层...

    【淘宝技术沙龙·第九期】轻量级B2C自动化测试框架

    - **Hudson**:持续集成服务器,支持定时执行任务。 - **Testlink**:测试案例管理系统,方便管理测试用例。 #### 十、总结 通过上述介绍可以看出,轻量级B2C自动化测试框架旨在通过合理的架构设计和组件选择,实现...

Global site tag (gtag.js) - Google Analytics