项目自动化之道-2.使用CruiseControl定时建构
2012-12-01 13:03
351 查看
定时建构可以迅速找到集成问题和失效测试问题,因为它是以规律的时间间隔运行的。各部分的程序员,只在本区域进行集成测试,而不会测试整个系统的集成测试情况。所以为了避免错误的累积,我们必须采用定时建构的方法,
一般而言,定是建构的步骤为: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.运行构建。文件内容为:
执行上述文件为:ant -buildfile cc-build.xml。可见它首先删除了下载的userview代码,重新从svn服务器上下载最新版本代码,最后执行svn库里最新的build.xml文件的test target。
首先我们安装CC(cruiseControl),下载后执行安装完成,在更目录底下有文件cruisecontrol.bat,这个文件点击即可以开始CC自动构建。下面配置建构过程,CC的默认程序为config.xml文件,其结构为:
上述代码,首先设定项目启动记录到listener.txt文件中,在设定监控检出目录,在设定每60秒执行一次自动构建,记录结果到test-result,发送失败结果到gongqingkui@163.com邮箱中。
上述代码完成后,在本地修改文件,提交到SVN服务器上,一分钟左右,自动构建过程开始执行,结果可以在本地通过访问http://192.168.195.54:8080/dashboard/tab/build/detail/userview和http://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进行单步建构
一般而言,定是建构的步骤为: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/userview和http://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进行单步建构
相关文章推荐
- 项目自动化之道-1.使用ant进行单步建构
- 使用Selenium server standalone实现定时web自动化下载电影
- [转]Android学习系列(31)--App自动化之使用Ant编译项目多渠道打包
- 使用ant自动化构建android项目
- linux下使用shell脚本自动化部署项目
- linux的jenkins安装与使用jenkins自动化打包maven项目部署到tomcat
- 使用cargo自动化部署maven项目
- Maven 教程(15)— 实现多个项目关联自动化构建(maven-invoker-plugin插件的使用)
- 在Maven+Spring项目中使用Node.js的Gulp进行前端自动化构建
- Hudson之——Hudson的使用(使用 Hudson 来自动化编译、分析、打包、发布、部署项目)
- Android笔记之:App自动化之使用Ant编译项目多渠道打包的使用详解
- 使用Doxygen来自动化生成项目代码文档
- App自动化之使用Ant编译项目多渠道打包
- web 项目中 在spring中使用log4j 定时刷新log4j配置文件
- 使用spring的@Scheduled注解执行定时任务,启动项目不输出警告
- 使用nodeJS实现前端项目自动化之项目构建和文件合并
- 在Django项目中使用djcelery model api创建和更新定时任务--实际使用版本
- 使用VC创建Office 应用程序自动化项目
- Android笔记之:App自动化之使用Ant编译项目多渠道打包的使用详解
- App自动化之使用Ant编译项目多渠道打包