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
分享到:
相关推荐
cruisecontrol配置文件,很实用
cruisecontrol配置定时运行
cruisecontrol+maven2配置做持续集成
cruisecontrol配置电子邮件的xml文件
持续集成工具-CruiseControl配置常见问题
CruiseControl笔记,详细介绍了CruiseControl。net的配置,希望对大家有所帮助
cruisecontrol、ant、svn持续集成 己两个多星期以来对持续集成的概念和应用有了一些了解。下面主要对自己配置持续集成的环境进行总结。(看上去简单,但是对我开始对持续集成都没什么了解的人来说确实费了不少周折)
有关CruiseControl及ant配置的资料,少量内容来自朋友
1.认识CruiseControl 2.CruiseControl的安装 3. CruiseControl的配置 4.总结
CruiseControl的相关配置资料 博文链接:https://yangwei.iteye.com/blog/64857
这是我花勒3天终于研究出来的项目编译与监视的东西,中途卡了好久,差点就放弃勒,现在挂多个项目不同时间自动编译
cruisecontrol.war 文件,你可以直接将这个文件 COPY 到你的%TOMCAT_HOME%\webapps 目录下,不 过这种方式通常都会出错,前 面我们讲过CC的WEB组件要访问我们的项目build 的状态文件,而下载的 CC2.2 里面自带的 ...
CruiseControl 安装包,配合MSbuild 和Wix 可进行自动发布版本,在cc.net 中进行各种参数的配置,开发工程的源代码部分要求必须有一个.wixproj.
1、CruiseControl 的安装配置 2、CC + SVN + Msbuild 设置,配置文件详细描述 3、CCTray 的安装使用 4、SVN安装配置完全攻略教程 5、服务器相关信息 6、软件包:CruiseControl.NET-1.4.4-Setup.exe 7、软件包:...
持续集成配置 持续集成环境:Maven2 + Subversion + CruiseControl CC原理 以及一些样例
本文的目的:本文总结了过去一年中使用CruiseControl.Net来对工作流程进行持续化集成的经验教训,详细地讲述安装,配置,使用CruiseControl.Net的具体步骤,希望通过阅读本文,能理解和掌握使用CruiseControl.Net的...
自己写的十几页的东西,找了蛮多资料,文字简单易懂,图文并茂
我需要搭建一个C++项目的持续集成的环境 (windows的程序),所以这几天学习了一下CruiseControl.Net(以下简称CCNet),把整个过程跟大家分享一下。如果你没有用过CCNet,跟着我实战一把,相信会领你入门的。本文准备...