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配置文件.rar”包含了一些关键文件,它们是CruiseControl配置和运行的核心部分。 `main.jsp` 是CruiseControl Web界面的一个页面,用户可以通过这个页面查看构建状态、历史记录以及错误报告...
总结,配置CruiseControl定时运行涉及以下几个关键步骤:安装CruiseControl、编写`cruisecontrol.xml`配置文件、设定构建触发器、定义构建步骤、配置监控与通知,最后启动或重启CruiseControl服务。通过这种方式,你...
### Maven2+Subversion+CruiseControl配置详解 #### 1. Maven2导入Subversion仓库 Maven2是Apache的一个开源项目,用于项目管理和综合工具,其强大的依赖管理机制和生命周期模型使其成为Java项目自动化构建的首选...
本篇文章将详细介绍CruiseControl的基本概念、安装过程、配置方法以及一个简单的使用示例。 首先,CruiseControl的安装通常涉及下载最新版本的软件包,如V2.6.2,这可以从其官方网站sourceforge.net获取。安装完成...
本文将详细介绍CruiseControl.NET + msbuild的安装与配置方法。 安装CruiseControl.NET 1. 下载CruiseControl.NET:访问CruiseControl.NET的官方网站,下载最新版本的安装包。 2. 安装CruiseControl.NET:双击下载...
6. **检查配置文件**:通常情况下,`config.xml` 和 `dashboard-config.xml` 文件包含了 CruiseControl 的主要配置信息。这些文件位于安装目录下的 `etc` 目录内。 #### 四、关键配置说明 - **Ant 支持**:Cruise...
电子邮件CruiseControl配置是持续集成工具CruiseControl的重要组成部分,用于在构建过程开始、结束或出现失败时自动发送通知。CruiseControl通过读取XML配置文件来管理其工作流程,其中包括了邮件通知的设置。在本文...
2. **配置文件**:CruiseControl.rb的配置文件通常是`config/cruise_control.rb`,它定义了项目的构建流程,包括源码管理、构建触发器、构建任务、测试和报告等。 3. **构建生命周期**:CruiseControl.rb的构建过程...
本文将重点介绍如何使用CruiseControl、Ant、Subversion(SVN)等工具搭建一个持续集成环境的过程。 #### 二、所需工具与环境 - **CruiseControl**: 一种持续集成框架,支持自动化构建、测试和部署。 - **Apache ...
6. **向CruiseControl中加入新项目**:"CruiseControl step by step(3)"部分可能详细介绍了如何添加新的项目到CruiseControl服务器,包括项目配置文件的修改和项目构建规则的设定。 7. **了解CruiseControl的配置...
### 持续集成工具-CruiseControl配置常见问题解析 #### 一、CruiseControl.net Config 配置文件中 SourceControl 节配置正确但启动服务仍报错问题 **问题描述**: 当CruiseControl.net Config 配置文件中的`Source...
CruiseControl的配置使用了其安装目录下的config.xml文件,可以通过任一文本编辑器打开该配置文件,编辑各种配置信息。配置信息的定义遵循了标准XML文件格式,同时遵循了ANT自动构建配置信息的规则。 3.1.创建一个...
**CruiseControl 使用总结** CruiseControl 是一个开源的持续集成工具,主要...如果你想要深入了解CruiseControl,可以参考提供的"CC介绍.pptx"文件,该文件可能包含了更详细的介绍和示例,帮助你进一步学习和应用。
- **CruiseControl**:安装并启动CruiseControl服务,通常通过修改`cruisecontrol.properties`配置文件来定制服务设置。 - **svnant**:这是一个Ant插件,用于在Ant构建脚本中执行Subversion操作,如获取最新代码。 ...
本篇将深入介绍CruiseControl的基本概念、安装配置以及如何在实际开发环境中应用。 一、CruiseControl概述 CruiseControl起源于Java社区,但现在支持多种编程语言和构建工具,如Ant、Maven、Gradle等。它的核心...
CruiseControl的配置文件中包含了对构建代理的详细配置,例如: ```xml <cruisecontrol> <!-- 具体配置细节 --> </cruisecontrol> ``` 在配置文件中,可以定义用户自定义属性(`user-defined.properties`),...
1. **安装与配置**:首先,需要在服务器上安装CruiseControl,并根据项目需求配置XML配置文件,设置源代码仓库、构建触发器、构建任务等。 2. **集成源代码仓库**:将CruiseControl与版本控制系统(如Git、SVN)...