`

hudson配置使用经验总结

    博客分类:
  • Tool
阅读更多
将test与代码检查工具插件分成不同的job来处理, test job用来对每次修改进行测试, 代码检查job则在每次发布前手工启动

在我们的持续集成环境中, hudson 1.341 + jboss 4.2 这个版本组合比较稳定, hudson 版本太高会出现 dom4j相关的异常, 搞了好久没解决:(

比较常用的插件是findbugs, cobertura组合, 其他没用过, 前者用来检查代码中的一些低级错误, 后者用来统计代码覆盖率, 覆盖率工具还有clover, emma, 前者收费商用, 生成的report更炫, 更强(里面继承了代码复杂度, 代码风险评估等静态分析功能), 后者emma的report相对要简易

在使用cobertura之后, 如果是maven, goals and options不需要写test, 否则会出现test phase 跑两遍, 在跑cobertura之前默认会跑test. 比如这样设置:-U clean cobertura:cobertura

在hudson 1.341这个版本, cobertura maven plugin版本采用2.2就好, 太高(比如2.3)在生成report的时候会有一堆的语法检查warning, 虽然无大碍.

在使用cobertura的时候有一个限制, 就是如果test跟要测试的project是分离的, 换句话说如果test是一个单独的project, 那么这个貌似是没法对被测试的project统计代码覆盖率, 而clover则没有这个限制, 要钱的就是不一样啊!
关于cobertura的maven plugin配置, 本人认为hudson上的配置太繁琐, 其实可以简单的配置为:
		  <plugin>
			<groupId>org.codehaus.mojo</groupId>
			<artifactId>cobertura-maven-plugin</artifactId>
			<version>2.2</version>
			<configuration>
				<formats>
					<format>xml</format>
				</formats>
			</configuration>
		  </plugin>


对clover的maven命令也有一些技巧, 一般要这样配置:
-U clean clover2:setup test clover2:aggregate clover2:clover
如果将test放在clover2:setup前面, 则clover的一些设置将会被test被清掉, 导致有些report可能没法输出

所以最终我们的选择hudson 1.341 + jboss 4.2 +clover plugin  + findbugs plugin
分享到:
评论
1 楼 lhs295988029 2012-11-02  
hudson 版本太高会出现 dom4j相关的异常, 搞了好久没解决:(

我使用hudson2.2.1 + tomcat 6 一直都出现dom4j,差不多整了一个星期都没有解决。看来换成低版本试试看,但我觉得不是hudson的问题吧???

相关推荐

    使用Hudson进行持续集成资料总结

    在本文中,我们将深入探讨Hudson的基础配置及其在持续集成中的应用。 首先,了解持续集成(CI)的重要性是至关重要的。持续集成是一种软件开发实践,其中开发人员频繁地将他们的更改合并到主分支,通常每天至少一次...

    hudson 开发指南

    5.2 数据持久化:理解如何存储和读取插件的配置数据,如使用Hudson的持久化框架。 5.3 测试插件:编写单元测试和集成测试,确保插件的功能正确性和稳定性。 六、最佳实践与社区资源 6.1 版本控制:推荐使用Git...

    Hudson 资料2

    本文将围绕Hudson的基本概念、特点及其配置方法展开讨论。 #### 二、Hudson概述 Hudson是一个开源工具,主要用于持续集成,旨在帮助开发团队更高效地进行自动化构建和测试。通过持续集成实践,Hudson能够检测并...

    Hudson 资料3

    1. **易于配置**:Hudson以其简单直观的Web界面著称,用户可以通过图形化界面轻松完成各种配置操作。无论是安装插件、设置构建触发器还是管理构建结果,Hudson都提供了极为友好的用户体验。 - **安装简单**:只需...

    《Maven实战》(国内首本Maven著作)(Maven的安装、配置及使用入门).doc

    3. **使用Hudson进行持续集成**: - Hudson是一种持续集成工具。 - 可以自动构建和测试项目,提高软件质量。 4. **使用Maven构建Web应用**: - Maven支持构建各种类型的Web应用。 - 可以轻松管理Web项目的依赖...

    Maven实战- 入门

    对于已经有一定Maven使用经验的开发者,书中也提供了丰富的高级知识,包括使用Nexus建立私有仓库、使用Hudson进行持续集成等,这些都是在企业项目中常见的应用实践。此外,书中还包含了如何编写Maven插件和Archetype...

    flex测试总结

    在“flex测试总结”这篇博客中,作者JavierHui分享了关于Flex应用程序测试的一些关键知识点和经验。Flex是Adobe公司推出的一种用于构建富互联网应用(RIA)的开发框架,基于ActionScript和Flash Player或Adobe AIR...

    Maven实战.pdf

    - **版本控制:** 使用版本控制系统来管理Maven的配置文件。 - **统一设置:** 在团队中采用统一的Maven配置。 - **持续集成:** 配置CI工具如Jenkins来自动运行Maven构建。 #### 三、Maven核心概念 - **坐标和...

    m2eclipse插件_使用maven必备

    m2eclipse还与持续集成工具如Jenkins、Hudson等紧密集成,可以通过插件直接在Eclipse中触发构建任务,监控构建状态,方便开发团队的协作和质量管理。 7. **与其他Eclipse插件的协同工作** 除了基本的Maven功能,...

Global site tag (gtag.js) - Google Analytics