`

持续集成工具CC介绍

 
阅读更多
<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&lt;br"></maven> projectfile=demo/project.xml<br> goal=demo:build/&gt;<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&lt;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>&gt;<br><failure address="&lt;a" href="mailto:developers@yourdomain.com">developers@yourdomain.com /&gt;<br><success address="&lt;a" href="mailto:developers@yourdomain.com">developers@yourdomain.com /&gt;<br><br></success></failure></currentbuildstatuspublisher></publishers>



关于CC 的脚本中xml的规范、cc的安装和运行请参考CruiseControl的官方网站:
cruisecontrol.sourceforge.net


Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1695455


分享到:
评论

相关推荐

    CC持续集成工具2.2

    持续集成工具,用他可以集成CS,Junit等等!

    CI持续集成工具矩阵图(中文版)

    http://confluence.public.thoughtworks.org/display/CC/CI+Feature+Matrix 上面的链接是矩阵图的英文版,根据谷歌翻译结合自己的理解翻译的(持续集成工具矩阵图),有不对地方请通知我,谢谢。

    持续集成工具的选择-装载

    而持续集成的工具现如今也是百花齐放,各有千秋,本文主要对比了在Java领域中比较常见的几种CI server(因为公司要求统一整个公司的CIserver)。如果想了解更多的工具,可以看这里:...

    质量之匙:持续集成工具与实践

    编者按:CruiseControl:简称CC,持续集成工具,主要提供了基于版本管理工具(如CVS)感知变化或每天定时的持续集成,并提供持续集成报告、Email、Jabber等等方式通知相关负责人,其要求是  专访Thoughtworks公司...

    cassowary:用于移动开发的助手和持续集成工具

    食火鸡Cassowary是用于移动开发的帮助程序和持续集成工具的集合。随随便便现在, libcassowary库(源自 / )专注于为开发工具提供一组实用程序。 在libcassowary ,存在可以为iOS和Android项目调用的单元测试和...

    esrislurp:下载并解开esri js api amd模块和css,以创建用于构建,测试和持续集成的本地程序包

    下载并解开esri js api amd模块和css,以创建用于构建,测试和持续集成的本地软件包。 获得slource:trade_mark:的最佳方法。 入门 不幸的是,无法通过或等更简单的方式使用Esri的Javascript API。 此工具是下一个...

    关于每日构建|每小时构建

    火龙果软件工程技术中心 持续集成工具:CruiseControl,俗称cc构建工具:Ant(Maven不错,但还未使用熟练)应用服务器:tomcat版本控制器:Subversion一.cc的设置首先下载CruiseControl,目前版本是2.7.1,打开目录,...

    CppSharp:将CC ++ API粘合到高级语言的工具和库

    CppSharp是一个工具和一组库,可促进在.NET生态系统中使用本机C / C ++代码。...持续集成 图书馆 AST 镜像Clang的C / C ++ AST,并在C#API中键入系统类。 请查看以获取有关其架构的更多详细信息。 C ++声

    docker-deploy:方便日常开发的docker-compose

    持续集成工具 直播服务器 轻量级,高性能,功能强大的内网穿透代理服务器 MQ 负载均衡 docker常用命令 # 列出本地主机上的镜像 docker images # 查看镜像可用版本 docker search nginx # 启动容器,下面的命令输出...

    leetcode-cpp:使用 Bazel 构建,googletest测试,gcov测试覆盖率。安心刷LeetCode

    项目使用 Bazel 构建的 C++ 刷题项目,通过几个简单步骤即可完成编译、测试,提供工具用于代码格式化、覆盖率报告、持续集成,还有额外的工具函数辅助创建测试用例。 如果你正使用 C++ 刷 LeetCode,但苦于每次写完...

    video_sharing

    生产建立资产获取固定资产运行代码样式的短毛猫萨斯JavaScript 其他工具运行资产捆绑分析器持续集成 特征简单的安装说明立即使用简单的,配置的,启用了linter的浏览器同步资产文件开始开发项目。 每个环境的配置...

    Java开源的下一代社区平台Symphony.zip

    一个好玩的产品或说是细节特性然并卵,需要做的是一个能够持续提供用户价值的产品/特性 虽然直到目前 B3log 系产品用户不多,但我们已经初步证明了:Java 用来实现博客、论坛没有什么不好的 使用开源软件,了解...

    urbit:一种操作功能

    您可以选择设置Nix,以从持续集成使用的二进制缓存中提取构建工件。 这将缩短构建时间,并避免不必要的常见依赖项重新编译。 安装Nix后,您可以通过以下方式设置Cachix: nix-env -iA cachix -f ...

    angular-testing

    它已准备好用于持续集成平台。 现在支持转译器。 入门 要开始使用,您可以简单地js-seed 存储库并安装依赖项: 先决条件 您需要 git 来克隆 js-seed 存储库。 您可以从获取 git。 我们还使用了一些 node.js 工具来...

Global site tag (gtag.js) - Google Analytics