`

CruiseControl

阅读更多

CruiseControl 是 CI 服务器的老者。它已经用了有五年多了,在许多方面, CruiseControl 服务器 已经成为持续集成实践的同义词。出于完全坦白的目的,我应当提到,我也是 CruiseControl 的多年的老用户。

改进的安装

如果您从最后一次使用 CruiseControl 到现在已经有段时间,而且认为它的安装和配置是个负担,那么您可以看看最新版本。现有,有许多方式安装 CruiseControl。例如,如果使用 Windows,会发现最简单的方式是下载二进制可执行文件,然后运行它。不用担心,还可以下载源代码。

安装之后,CruiseControl 预先配置了一个配置文件,轮询 CVS 存储库并执行 Ant 构建脚本。同样也不需要安装 Web 服务器,因为 CruiseControl 也内嵌了 Jetty。

轮询版本控制系统

比起 Luntbuild 和 Continuum,CruiseControl 提供了对超过十种不同版本控制系统的支持。而且,CruiseControl 对这些工具中的许多定制命令也提供了支持。清单 1 是一个使用 CruiseControl config.xml 脚本轮询 Subversion 存储库的示例:


清单 1. 通过 config.xml 文件轮询存储库

<listeners>
  <currentbuildstatuslistener file="logs/${project.name}/status.txt"/>
</listeners>
<modificationset quietperiod="30">
  <svn RepositoryLocation="http://www.qualitylabs.org/svn/ambientorb/trunk"
    username="bfranklin"
    password="G0Fly@Kite"
  />
</modificationset>

 

执行构建脚本

当在版本控制系统(例如 Subversion)中发现修改时,可以很容易地配置 CruiseControl 去执行委托的构建脚本。例如,清单 2 演示了从 config.xml 调用 Ant 脚本,它指示 CruiseControl 每 60 秒钟查询 Subversion 存储库一次,并执行另一个 Ant 脚本。 委托的构建脚本(没有显示)删除旧文件,从 Subversion 签出最新的源代码,并在代码上运行项目的构建脚本。


清单 2. 执行 Ant 构建脚本

<schedule interval="60">
  <ant anthome="apache-ant-1.6.5" buildfile="build-${project.name}.xml"/>
</schedule>

 

当设置了 CruiseControl 的这个方面并启动服务器之后,可以访问如图 3 所示的 CruiseControl Web 控制板:

 

 

要接收最新构建的反馈,可以把 htmlemail 插件添加到清单 3 所示的 config.xml 脚本。可以用 config.xml 文件配置更多反馈机制,例如发送文本消息、电子设备(通过 X10)、甚至即时消息。


清单 3. 用 CruiseControl 发送电子邮件

...
<plugin name="htmlemail"
  buildresultsurl="http://${env.COMPUTERNAME}/cruisecontrol/buildresults/${project.name}"
  mailhost="${smtp.server}"
  username="${mail.username}"
  password="${mail.password}"
  returnaddress="${buildmaster.email}"
  returnname="${buildmaster.name}"
  subjectprefix="${project.name} build"
  xsldir="webapps/cruisecontrol/xsl"
  css="${reportdir}/cruisecontrol.css"/>
   ...
  <htmlemail>
    <always address="${buildmaster.email}"/>
    <failure address="${buildmaster.email}"/>
  </htmlemail>

CruiseControl 提供了许多有用的特性,有强大的用户社区,极具扩展性。与本文中评估的其他工具相比,有些开发人员觉得 CruiseControl 不太容易使用。而另一方面,有些开发人员则发现用 XML 脚本进行修改提供了更好的控制。

 

分享到:
评论
1 楼 dayang2001911 2008-10-28  
回头试试

相关推荐

    CruiseControl简介及使用举例

    CruiseControl是一款持续集成工具,它能够自动化地执行软件项目的构建、测试和部署流程,以确保代码的质量和项目的稳定性。本篇文章将详细介绍CruiseControl的基本概念、安装过程、配置方法以及一个简单的使用示例。...

    cruisecontrol配置定时运行

    CruiseControl是一款持续集成工具,它能够自动化地构建、测试和部署软件项目,极大地提高了开发效率和产品质量。在本文中,我们将深入探讨如何配置CruiseControl以实现定时运行,确保项目始终保持最新状态。 首先,...

    [CruiseControl]binary安装和启动

    ### [CruiseControl] Binary安装与启动指南 #### 一、CruiseControl简介 CruiseControl 是一个持续集成工具,用于自动化构建过程并提供实时反馈,帮助开发团队尽早发现问题。它支持多种构建工具如 Ant 和 Maven,...

    cruisecontrol配置文件.rar

    CruiseControl 是一个开源的持续集成工具,用于自动化软件构建、测试和部署的过程。它通过监控版本控制系统中的变更,自动触发构建任务,及时发现并解决代码集成中的问题,从而提高开发团队的效率和软件质量。本...

    持续集成之CruiseControl.rb

    **持续集成之CruiseControl.rb** CruiseControl.rb是一款开源的持续集成工具,主要用于自动化构建、测试和部署软件项目。它是由ThoughtWorks公司开发的,是CruiseControl.NET的Ruby版本,因此在Ruby社区中被广泛...

    cruisecontrol+maven2配置

    标题与描述概述的知识点主要涉及了使用CruiseControl与Maven2进行持续集成的配置流程。这是一项在软件开发过程中非常关键的技术实践,它能够自动检测代码库中的更新,并自动执行构建、测试以及部署等任务,从而确保...

    持续集成及CruiseControl技术交流

    主题:持续集成及CruiseControl技术交流 在提升软件质量、降低研发风险、拒绝浪费方面,处于敏捷实践领域的持续集成(Continuous Integration,CI)起到重要作用。持续集成能够解决研发工作中的80%任务(日常),...

    CruiseControl-2.8.4.exe

    CruiseControl-2.8.4.exe

    CruiseControl笔记

    ### CruiseControl.net 配置详解 #### 一、CruiseControl.net简介 CruiseControl.net是一种流行的持续集成(CI)工具,它可以帮助软件团队自动构建、测试和部署代码,从而提高开发效率和软件质量。本篇文章将围绕...

    CruiseControl使用指南.rar

    CruiseControl是一款开源的持续集成工具,用于自动化软件开发过程中的构建、测试和部署任务。这份"CruiseControl使用指南.rar"包含了一系列关于如何有效利用CruiseControl进行持续集成的资源,包括文章、教程和示例...

    CruiseControl.NET-1.4.4-Setup.exe

    CruiseControl.NET-1.4.4-Setup.exe

    利用CruiseControl软件进行持续集成

    "利用CruiseControl软件进行持续集成" 在软件开发过程中,持续集成是一个非常重要的步骤,它可以帮助开发团队更好地合作和跟踪项目的进度。CruiseControl是一种流行的持续集成工具,能够自动化地构建、测试和部署...

    cruisecontrol简介

    cruisecontrol简介

    AdaptiveCruiseControlExample.rar_Cruise Control_adaptive control

    自适应巡航控制(Adaptive Cruise Control, 简称ACC)是一种高级驾驶辅助系统,它在传统的巡航控制基础上增加了车辆自主调节车速的能力,以保持与前车的安全距离。MATLAB是一款广泛应用于数学计算、数据分析和算法开发...

    CruiseControl.NET-CCTray-1.8.4.0

    CruiseControl.NET-CCTray-1.8.4.0-Setup.exe

    CruiseControl.NET

    CruiseControl.NET 是 .NET 平台下的持续集成工具,CruiseControl (Java) 的 .NET 移植版本。CruiseControl是一个针对持续构建程序(项目持续集成)的框架,它包括一个email通知的插件,Ant和各种各样的CVS工具。Cruise...

    Cruisecontrol

    ### Cruisecontrol:持续集成平台与分布式构建实践 #### 一、CruiseControl简介 CruiseControl是一个开源的持续集成平台,旨在帮助企业实现自动化构建过程,提高软件开发效率和质量。项目采用Apache许可证发布,...

Global site tag (gtag.js) - Google Analytics