中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档 | 网通镜像
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > 编程语言 > Java > 综合文章
CruiseControl简介
作者:佚名 时间:2006-09-16 08:45 出处:月光软件站 责编:月夜寒箫
              摘要:CruiseControl简介

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

关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有