<iframe align="top" marginwidth="0" marginheight="0" src="http://www.zealware.com/46860.html" frameborder="0" width="468" scrolling="no" height="60"></iframe>
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><br><project name="demo" buildafterfailed="true"><br><!--每次检测是否有变化时先运行此处 --><br><bootstrappers><br><currentbuildstatusbootstrapper file="logs/demo/buildstatus.txt/"><br></currentbuildstatusbootstrapper></bootstrappers></project></cruisecontrol>
<!--检测是否有变化,如有变化则开始集成 -->
<modificationset quietperiod="10"><br><!-- 基于cvs的检测 --><br><cvs localworkingcopy="demo/"><br></cvs></modificationset>
<!-- 持续集成-->
<schedule interval="18"><br><!-- 项目的编译脚本 --><br><maven mavenscript="D:/tools/maven/bin/maven.bat<br"></maven> projectfile=demo/project.xml<br> goal=demo:build/><br></schedule>
<!--持续集成过程的日志记录以及需要合并的日志 -->
<log dir="logs/demo"><br><!-- 合并项目编译脚本中产生的单元、功能测试日志 --><br><merge dir="demo/target/test-reports/"><br></merge></log>
<!--持续集成后结果的公布 -->
<publishers><br><currentbuildstatuspublisher file="logs/demo/buildstatus.txt/"><br><!-- 发布持续集成的结果至网站中,此方法还不是最理想的 --><br><execute command="D:/tools/cc/reporting/jsp/build.bat" war></execute><br><!-- 邮件通知相关的负责人 --><br><email mailhost="smtp.yourdomain.com<br"></email> returnaddress=<a href="mailto:buildmaster@yourdomain.com">buildmaster@yourdomain.com</a><br> skipusers=true<br> reportsuccess=fixes<br> subjectprefix=[CruiseControl]<br> buildresultsurl=<a href="http://buildserver:8080/cruisecontrol/buildresults">http://buildserver:8080/cruisecontrol/buildresults</a>><br><failure address="<a" href="mailto:developers@yourdomain.com">developers@yourdomain.com /><br><success address="<a" href="mailto:developers@yourdomain.com">developers@yourdomain.com /><br><br></success></failure></currentbuildstatuspublisher></publishers>
关于CC 的脚本中xml的规范、cc的安装和运行请参考CruiseControl的官方网站:
cruisecontrol.sourceforge.net
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1695455
分享到:
相关推荐
持续集成工具,用他可以集成CS,Junit等等!
http://confluence.public.thoughtworks.org/display/CC/CI+Feature+Matrix 上面的链接是矩阵图的英文版,根据谷歌翻译结合自己的理解翻译的(持续集成工具矩阵图),有不对地方请通知我,谢谢。
而持续集成的工具现如今也是百花齐放,各有千秋,本文主要对比了在Java领域中比较常见的几种CI server(因为公司要求统一整个公司的CIserver)。如果想了解更多的工具,可以看这里:...
编者按:CruiseControl:简称CC,持续集成工具,主要提供了基于版本管理工具(如CVS)感知变化或每天定时的持续集成,并提供持续集成报告、Email、Jabber等等方式通知相关负责人,其要求是 专访Thoughtworks公司...
食火鸡Cassowary是用于移动开发的帮助程序和持续集成工具的集合。随随便便现在, libcassowary库(源自 / )专注于为开发工具提供一组实用程序。 在libcassowary ,存在可以为iOS和Android项目调用的单元测试和...
下载并解开esri js api amd模块和css,以创建用于构建,测试和持续集成的本地软件包。 获得slource:trade_mark:的最佳方法。 入门 不幸的是,无法通过或等更简单的方式使用Esri的Javascript API。 此工具是下一个...
火龙果软件工程技术中心 持续集成工具:CruiseControl,俗称cc构建工具:Ant(Maven不错,但还未使用熟练)应用服务器:tomcat版本控制器:Subversion一.cc的设置首先下载CruiseControl,目前版本是2.7.1,打开目录,...
CppSharp是一个工具和一组库,可促进在.NET生态系统中使用本机C / C ++代码。...持续集成 图书馆 AST 镜像Clang的C / C ++ AST,并在C#API中键入系统类。 请查看以获取有关其架构的更多详细信息。 C ++声
持续集成工具 直播服务器 轻量级,高性能,功能强大的内网穿透代理服务器 MQ 负载均衡 docker常用命令 # 列出本地主机上的镜像 docker images # 查看镜像可用版本 docker search nginx # 启动容器,下面的命令输出...
项目使用 Bazel 构建的 C++ 刷题项目,通过几个简单步骤即可完成编译、测试,提供工具用于代码格式化、覆盖率报告、持续集成,还有额外的工具函数辅助创建测试用例。 如果你正使用 C++ 刷 LeetCode,但苦于每次写完...
生产建立资产获取固定资产运行代码样式的短毛猫萨斯JavaScript 其他工具运行资产捆绑分析器持续集成 特征简单的安装说明立即使用简单的,配置的,启用了linter的浏览器同步资产文件开始开发项目。 每个环境的配置...
一个好玩的产品或说是细节特性然并卵,需要做的是一个能够持续提供用户价值的产品/特性 虽然直到目前 B3log 系产品用户不多,但我们已经初步证明了:Java 用来实现博客、论坛没有什么不好的 使用开源软件,了解...
您可以选择设置Nix,以从持续集成使用的二进制缓存中提取构建工件。 这将缩短构建时间,并避免不必要的常见依赖项重新编译。 安装Nix后,您可以通过以下方式设置Cachix: nix-env -iA cachix -f ...
它已准备好用于持续集成平台。 现在支持转译器。 入门 要开始使用,您可以简单地js-seed 存储库并安装依赖项: 先决条件 您需要 git 来克隆 js-seed 存储库。 您可以从获取 git。 我们还使用了一些 node.js 工具来...