在敏捷开发过程中我们会实施很多优秀实践,比如站立式会议、结对编程、持续集成等等。本文主要讲解如何运用CruiseControl搭建你的持续集成环境。
一:CruiseControl介绍
CruiseControl(有时我们简称CC)是使用java语言编写的一个持续集成工具,他有着良好的框架,所以你可以在他基础上二次开发成我们自己
定制的持续集成工具。CruiseControl集成了很多第插件,比如:源码控制、邮件通知、实时消息通知等等。而且他提供了一个web界面使我们更加
方便的查看构建项目的当前以及历史状态。虽然CruiseControl使用java语言编写,但他并不限制你只能构建JAVA项目,你可以通过ant等
脚本构建各种语言的持续集成环境。
工具的整体架构如下图:
从上图可以看出,CC主要包括了三个组件:
A、Build Loop组件:主要负责根据外部的xml配置,定时、周期性的根据外部SCM的状态启动构建任务,并将构建结果通过Email/IM/RSS等方式通知到相应的客户端。
B、JSP的报告组件:提供了一个web页面供我们查看构建结果以及每次构建发布的工件。
C、Dashboard组件:提供了一个可视化的界面,让我们可以清楚的看到各个项目的构建状态 。
工具的官方网站:http://cruisecontrol.sourceforge.net/
二:CruiseControl持续集成环境的配置安装
第一步:
A、从上面的官方网站下载最新的稳定版本,当前最新的稳定版本为2.8.2
B、下载JAVA安装包
第二步:解压下载的工具包(由于CC是绿色版的,所以解压即可不需安装),并在你的环境变量中增加两个环境变量
A、JAVA_HOME设置为你的JAVA安装目录
B、设置ANT_HOME为CC解压目录下的apache-ant-1.7.0目录,并且将“你的下载目录\cruisecontrol-bin-2.8.2\apache-ant-1.7.0\bin”加入你的path路径中
(这样我们就可以在命令行直接调试ant脚本)
第三步:直接运行CC解压目录下的cruisecontrol.bat即可
第四步:在你的浏览器地址栏输入:http://localhost:8080/dashboard/tab/dashboard,如果出现下面的界面表示安装成功
第三:如何搭建自己的构建项目
第一步:熟悉CC的目录结构
在上面粉红色的方框中,我们大部分时间只需要配置一下文件即可:
1、confile.xml文件 -------所有项目的信息配置,包含了你的SCM以及发布信息等等
2、cruisecontrol.bat -------启动CC工具
3、apache-ant-1.7.0文件夹 -----这里存放了ant工具所有内容,包括lib
4、artifacts文件夹 -----存放了每次构建发布的工件,以项目进行区分
5、etc文件夹 -----存放了工具的配置,包括jetty容器、数据库连接配置等
6、lib文件夹 -----存放了所有CC依赖的lib库
7、log文件夹 -----存放了所有日志信息
8、projects文件夹 ------存放了你的构建项目的描述信息,构建自己的项目需要在这里面配置
9、webapps文件夹 ------存放了CC的WEB部署,如果你想定制自己的界面,就需要在这里配置,如上图的TestAnalusis的Tab就是我定制的一个页面
第二步:熟悉总的项目文件的配置config.xml
第三步:熟悉每个项目的Build.xml的编译控制
上面的第二步和第三步可以参加它的带有的帮助文件和工程实例connectfour,因为这里面的配置项,所以这里就不一一列举讲解。如果大家有什么疑问可以给我留言我们一起讨论。
分享到:
相关推荐
使用 SVN 和 CruiseControl 搭建持续集成开发环境可以提高软件开发的效率和质量。开发团队可以使用 SVN 来管理代码变更,而 CruiseControl 可以自动地构建和测试软件,提高软件的质量和可靠性。
【CruiseControl 持续集成环境搭建】 CruiseControl 是一款开源的持续集成工具,它的主要任务是在软件开发过程中,通过监控版本控制系统(如 SVN)的变化或者按照预设时间进行定期构建,以确保项目的持续集成。...
4. **使用CruiseControl搭建持续集成环境**:Elvis_Chen的技术博客文章可能提供了更深入的实践指导,讲解了如何将CruiseControl整合到实际的开发环境中,包括项目导入、构建脚本编写以及测试结果的展示。 5. **...
本文将介绍如何利用 Maven2、Subversion 和 CruiseControl 搭建一个持续集成环境。 首先,我们需要创建一个 Maven2 项目。这通常包括定义项目的结构、编写 pom.xml 文件以声明项目依赖、构建目标等。完成项目创建后...
我需要搭建一个C++项目的持续集成的环境 (windows的程序),所以这几天学习了一下CruiseControl.Net(以下简称CCNet),把整个过程跟大家分享一下。如果你没有用过CCNet,跟着我实战一把,相信会领你入门的。本文准备...
**搭建持续集成环境** 1. **设置SVN环境**:安装SVN Server和客户端,创建仓库并将项目置于版本控制之下。 2. **配置CruiseControl**:安装CruiseControl,从SVN检出项目至其项目目录,并配置config.xml文件以添加...
- **CruiseControl执行脚本**:CruiseControl是一个持续集成服务器,用于自动化构建过程。 - **CruiseControl项目配置文件**:用于定义构建规则、触发条件等。 - **CruiseControl配置文件示例**:展示具体的配置...
文档内容分为两大部分,第一部分介绍使用VMware+CruiseControl搭建自动编译环境,主要面向系统管理员;第二部分则阐述自动编译的使用方法,适合质量保证和项目组人员学习。 **第一部分:VMware+CruiseControl的搭建...
综上所述,这个压缩包提供了一套完整的持续集成环境,涵盖了从代码管理、构建、测试到通知的全过程,可以帮助开发者快速搭建和管理持续集成系统。对于熟悉这些工具的使用和配置,将极大地提升开发团队的效率和代码...
CruiseControl 是一款开源的持续集成工具,可以监控和自动执行软件构建过程。通过与测试框架集成,CruiseControl 能够在代码更改后立即执行测试,快速反馈结果。 ##### 5.7 Clover Clover 是一个代码覆盖率工具,...
- 将SWTBOT集成到现有的持续集成系统中(如CruiseControl),确保每次构建后都会自动执行GUI测试。 - 分析测试结果,修复错误,并优化测试脚本。 4. **高级用法**: - 实现测试独立性:确保每个测试用例之间相互...
4. **测试环境准备就绪**,包含了Anthill和CruiseControl的配置文件,便于持续集成。 5. **数据库表CRUD操作**:提供了一种简单的方式来自动生成与数据库表相关的代码。 #### 四、使用指南 1. **开发环境设置**: ...