基于 CruiseControl 和 Rational 统一变更管理实现的软件开发中的自动化持续构建
2009-12-18 00:00:00 来源:WEB开发网核心提示: 单元构建为了达到尽早发现问题的目的,我们设计了单元构建,基于 CruiseControl 和 Rational 统一变更管理实现的软件开发中的自动化持续构建(2),单元构建是基于前一次成功构建,仅对修改的源代码进行编译和单元测试的构建过程,所以需要较长时间完成,为了不占用白天的服务器资源, Cr
单元构建
为了达到尽早发现问题的目的,我们设计了单元构建。单元构建是基于前一次成功构建,仅对修改的源代码进行编译和单元测试的构建过程。 CruiseControl 提供的与 ClearCase 集成的功能可以监控 UCM 项目的集成流,当基于变更请求的代码被交付到集成流,新的元素版本在流上被创建,CruiseControl 这时启动单元构建程序。这个构建可以采用增量编译,目的在于迅速发现被交付的代码与集成流上的代码归并后是否存在错误。当然有些问题只有在完全编译中才能被发现,但是考虑到这种问题如果不是经常发生,而且为了达到短时间完成单元构建,然后可以对其他被交付的代码进行检查的目的,我们可以将完全构建发生的问题留到每日构建中解决。此外,为了尽早发现集成的代码中存在的问题,也可以在构建脚本中加入基本的自动测试脚本。脚本中的任何测试用例的执行失败都会直接导致单元构建失败。
图 1. 持续集成中单元构建的典型流程
每日构建
不管是使用敏捷开发还是瀑布开发模式的项目,最好每天至少完成一次完全构建。和单元构建相比,每天进行的完全构建产生可以用来测试和发布的 artifacts,并且在统一变更管理系统中创建和维护基线,记录当前构建是否成功。通过基线,开发人员可以回溯项目的历史版本重新建构历史发布,也可以重构失败构建的代码环境来分析和解决问题。和单元构建一样,在构建 artifacts 产生后,也可以在构建脚本中加入基本的自动测试。如果自动测试中的任何测试用例执行失败,那么每日构建也标记为失败。由于每日构建是完全构建,并且调用的测试用例可能也比单元构建多,所以需要较长时间完成。为了不占用白天的服务器资源,我们可以设定在晚上的某一时间启动每日构建。
Tags:基于 CruiseControl Rational
编辑录入:爽爽 [复制链接] [打 印]- ››基于IP地址的vsftp服务器
- ››基于MySQL 水平分区的优化示例
- ››基于CentOS5的Linux下pptp和openvpn的搭建及配置
- ››基于JavaScript的网页版塔防游戏
- ››基于Android平台 QQ大战360手机游戏爆红
- ››基于Windows Azure的云计算应用设计
- ››基于AES算法实现对数据的加密
- ››基于SoPC目标板Flash编程设计的创建及应用
- ››基于SolidWarks齿轮机构的运动分析与仿真
- ››基于Windwos Server 2008故障转移群
- ››基于JavaScript的REST客户端框架
- ››基于JavaScript和CSS的Web图表框架横向对比
更多精彩
赞助商链接