1. 环境搭建 1.1. 下载及目录介绍
从官方站点http://cruisecontrol.sourceforge.net/download.html下载一份最新的 CC 压缩包,最新的版本号为2.8.4
下载了cruisecontrol-bin-2.8.4.zip 直接解压到E盘下,文件结构如下图:
- apache-ant-1.7.0:CC中使用ANT工具
- artifacts:CC编译生成发布包
- etc:自带容器Jetty对应的配置文件
- lib:自带容器Jetty所需要到的Jar包
- logs:各项目生成日志存在文件夹
- projects:存放各项目文件目录,进行程序的编译
- webapps:CC自带应用程序存放目录
- cc-config:用于CC环境变量配置
- cruisecontrol:主应用程序CC目录
- dashboard:用于编译结果发布程序
- documentation:CC相关文档
- config.xml:用于CC编译配置文件,通过修改配置文件引入不同的插件,执行不同的编译流程
- cruisecontrol.bat:在WINDOWS环境下进行启用CC批处理脚本
- cruisecontrol.sh:在Linux等环境下启动CC脚本
- dashboard-config.xml:Dashboard配置文件
- CC需要运行在至少JDK 1.4环境中,在环境变量中设置有JAVA_HOME,并把java/bin加入到path中;
- CC已经内建集成了ANT,不需要单独引入;
- CC可以运行在多种应用服务器中,在自带压缩包中捆绑了一个开源应用服务器,那就是Jetty 6,下面为了尽快建立我们的环境,以下将使用该容器。
运行成功后,我们可以在浏览器输入 http://localhost:8080/cruisecontrol/ 来验证一下结果(采用Jetty默认的设置,端口号为 8080)
如果看到上图结果,恭喜你已经成功启动CC。 另外CC提供了更加人性化结果展示Dashboard界面,在浏览器输入 http://localhost:8080/dashboard/
2. 配置介绍 当CC服务器启动时,会自动检测配置信息中的任务信息,并对其进行校验和初始化,之后所有的工作,都是依据该配置信息进行的。 CC的配置使用了其安装目录下的config.xml文件,我们可以通过文本编辑器打开该配置文件,编辑各种配置信息。配置信息的定义遵循了标准XML文件格式,同时遵循了ANT自动构建配置信息的规则。 2.1. config.xml
1
2.2. build.xml
1 2
2.3. 执行配置解析 一个持续集成项目是从project节点开始的,对该项目进行的操作都会作为子节点存在与该根节点之下。对于每一个project节点,CC系统都会将其当作一个处理单元,并在最初建立该项目的时候进行初始化操作。 name是project节点常用的属性,也是必设且值唯一的属性,该属性的值会在整个CC系统使用,包括配置文件的${project.name}变量值。 在一个项目节点中,我们可以定义监听器、本地目录位置、变更轮询目录位置、轮询间隔、任务执行、单元测试、日志记录等多种项目操作,同时CC系统支持插件扩展功能,这些扩展插件可以直接在一个项目中使用。 2.3.1. 轮询版本控制系统 版本库轮询机制是使用modificationset进行配置的。CC系统内置的轮询模块会根据设定的时间段对版本库进行检测,一旦发现版本库发生变更,就会调用Check Out Build Test Publish等一系列的操作,对最新的代码进行集成,并运行一系列预先设定的任务。 CC支持十多种版本控制系统,比如CVS、SVN、Starteam、VSS等,对这些版本控制系统的调用,只需要配置相应的节点名称即可。本文以SVN版本管理系统为例。在modificationset节中,我们看到唯一的一个子节点:
最新评论