CruiseControl简介
2008-02-23 10:10:47来源:互联网 阅读 ()
CruiseControl:简称CC,持续集成工具,主要提供了基于版本管理工具(如CVS)感知变化或每天定时的持续集成,并提供持续集成报告、Email、Jabber等等方式通知相关负责人,其要求是需要进行日构建的项目已编写好全自动的项目编译脚本(可基于Maven或Ant)。
在这里以一个项目来简要的说说cc的使用,通常项目对于日构建的类型的需求分为两种:
1、每天的定时自动集成。
2、感知版本管理工具中的变化而进行自动集成。
项目对于日构建的目标通常为:
1、感知版本管理工具的变化,如发现有变化,则进行集成。
2、调用项目编译脚本进行项目集成。
3、合并项目编译脚本产生的单元测试、功能测试的日志。
4、将集成报告发布至网站中。
5、将集成的结果以邮件、jabber等等方式通知相应的负责人。
基于上面的要求,项目编译脚本采用Maven,版本管理工具采用CVS,持续集成工具采用CC,假设已编写好了基于Maven的项目编译脚本,CruiseControl的脚本如下编写:
<?XML version="1.0" encoding="UTF-8"?>
<cruisecontrol>
<project name="demo" buildafterfailed="true">
<!-- 每次检测是否有变化时先运行此处 -->
<bootstrappers>
<currentbuildstatusbootstrapper file="logs/demo/buildstatus.txt"/>
</bootstrappers>
<!-- 检测是否有变化,如有变化则开始集成 -->
<modificationset quietperiod="10">
<!-- 基于cvs的检测 -->
<cvs localworkingcopy="demo"/>
</modificationset>
<!-- 持续集成-->
<schedule interval="18">
<!-- 项目的编译脚本 -->
<maven mavenscript="D:/tools/maven/bin/maven.bat"
projectfile="demo/project.xml"
goal="demo:build"/>
</schedule>
<!-- 持续集成过程的日志记录以及需要合并的日志 -->
<log dir="logs/demo">
<!-- 合并项目编译脚本中产生的单元、功能测试日志 -->
<merge dir="demo/target/test-reports"/>
</log>
<!-- 持续集成后结果的公布 -->
<publishers>
<currentbuildstatuspublisher file="logs/demo/buildstatus.txt"/>
<!-- 发布持续集成的结果至网站中,此方法还不是最理想的 -->
<execute command="D:/tools/cc/reporting/JSP/build.bat war"/>
<!-- 邮件通知相关的负责人 -->
<email mailhost="smtp.yourdomain.com"
returnaddress="buildmaster@yourdomain.com"
skipusers="true"
reportsuccess="fixes"
subjectprefix="[CruiseControl]"
buildresultsurl="http://buildserver:8080/cruisecontrol/buildresults">
<failure address="developers@yourdomain.com" />
<success address="developers@yourdomain.com" />
</email>
</publishers>
</project>
</cruisecontrol>
关于CC 的脚本中xml的规范、cc的安装和运行请参考CruiseControl的官方网站:
cruisecontrol.sourceforge.net
上一篇: [XML学习笔记][1]基本概念
下一篇: [XML学习笔记][2.1]XML验证
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash