项目自动化之道-2.使用CruiseControl定时建构

      定时建构可以迅速找到集成问题和失效测试问题,因为它是以规律的时间间隔运行的。各部分的程序员,只在本区域进行集成测试,而不会测试整个系统的集成测试情况。所以为了避免错误的累积,我们必须采用定时建构的方法,

      一般而言,定是建构的步骤为:1.签出版本控制系统当前代码2.调用建构文件和测试代码3.建构结果写入日志文件。为了完成上述过程,在UNIx系统上,我们采用cron命令,在win系统下我们采用at命令。

      Cron的使用方法为打开cron编辑器:crontab –e 输入执行参数 0 2 * * *build.sh。at的使用方法为at 02:00 /every c:\work\build.bat。这两者都表示在凌晨两点执行建构脚本。常用的建构工具有CruiseControl,下面我们学习如何使用CruiseControl。

      现在开始搭建定时建构环境。在建构机器上建立目录builds,期间建立文件cc-build.xml、config.xml、checkout\userview、logs目录,其中cc-build.xml文件为下载最新代码的ant文件。定是构建运行时的流程为:1.删除上一次构建2.从svn签出最新命令3.运行构建。文件内容为:

<project name="cc-build" default="build"basedir="checkout">
         <targetname="build">
                   <deletedir="userview" />
                   <execexecutable="svn">
                            <argline=" checkout svn://127.0.0.1/userview/trunk userview"/>
                   </exec>
                   <antantfile="build.xml" dir="userview"target="test"/>
         </target>
</project>

      执行上述文件为:ant -buildfile cc-build.xml。可见它首先删除了下载的userview代码,重新从svn服务器上下载最新版本代码,最后执行svn库里最新的build.xml文件的test target。

      首先我们安装CC(cruiseControl),下载后执行安装完成,在更目录底下有文件cruisecontrol.bat,这个文件点击即可以开始CC自动构建。下面配置建构过程,CC的默认程序为config.xml文件,其结构为:

<cruisecontrol>
    <projectname="userview">
        <listeners>
           <currentbuildstatuslistener file="logs/${project.name}/listener.txt"/>
        </listeners>
        <modificationsetquietperiod="30">
                            <svnlocalworkingcopy="D:\www.dongsuqin.cn\builds\checkout\userview"/>
       </modificationset>
        <scheduleinterval="60">
            <antanthome="apache-ant-1.7.0"buildfile="D:\www.dongsuqin.cn\builds\cc-build.xml"target="build"/>
        </schedule>
 
        <logdir="logs/userview">
            <mergedir="projects/${project.name}/target/test-results"/>
        </log>
       <publishers><!--<currentbuildstatuspublisherfile="logs/userview/cbsp.txt" />-->
                   <htmlemailmailhost="126.smtp.com" logdir="logs/userview"returnaddress="gongqingkui@163.com"buildresutlurl="http://192.168.195.54:8080/cruisecontrol/buildresults/userview">
                            <mapalias="gong" address="gongqingkui@126.com" />
                            <failureaddress="gong" reportWhenFixed="true" />
                   </htmlemail>
         </publishers>
    </project>
</cruisecontrol>

      上述代码,首先设定项目启动记录到listener.txt文件中,在设定监控检出目录,在设定每60秒执行一次自动构建,记录结果到test-result,发送失败结果到gongqingkui@163.com邮箱中。

      上述代码完成后,在本地修改文件,提交到SVN服务器上,一分钟左右,自动构建过程开始执行,结果可以在本地通过访问http://192.168.195.54:8080/dashboard/tab/build/detail/userviewhttp://192.168.195.54:8080/cruisecontrol/buildresults/userview来查看。

参考

1.      使用Ant和批处理备份数据

2.      JUnit下的测试和suite

3.      Ant结构化程序设计和WEB程序发布

4.      Ant的主要任务的语法

5.      Ant脚本的详细配置

6.      Subversion综述

7.      项目自动化之道-1.使用ant进行单步建构

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

gongqingkui

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值