在敏捷开发过程中我们会实施很多优秀实践,比如站立式会议、结对编程、持续集成等等。本文主要讲解如何运用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 搭建持续集成开发环境
主题:持续集成及CruiseControl技术交流 在提升软件质量、降低研发风险、拒绝浪费方面,处于敏捷实践领域的持续集成(Continuous Integration,CI)起到重要作用。持续集成能够解决研发工作中的80%任务(日常),...
cruisecontrol、ant、svn持续集成 己两个多星期以来对持续集成的概念和应用有了一些了解。下面主要对自己配置持续集成的环境进行总结。(看上去简单,但是对我开始对持续集成都没什么了解的人来说确实费了不少周折)
持续集成配置 持续集成环境:Maven2 + Subversion + CruiseControl CC原理 以及一些样例
1.认识CruiseControl 2.CruiseControl的安装 3. CruiseControl的配置 4.总结
使用CruiseControl构建持续集成服务器.pdf
详细的讲述了基于CruiseControl+SVN+Maven+Tomcat持续集成环境的搭建,以及在搭建过程中遇到的问题。
1、CruiseControl 的安装配置 2、CC + SVN + Msbuild 设置,配置文件详细描述 3、CCTray 的安装使用 4、SVN安装配置完全攻略教程 5、服务器相关信息 6、软件包:CruiseControl.NET-1.4.4-Setup.exe 7、软件包:...
CruiseControl是CI服务器的老者,诞生已是多年,在许多方面,CruiseControl服务器已经成为持续集成实践的同义词。而现在,CruiseControl已发展成为一个家族式系统,包括CruiseControl.java、CruiseControl.net、...
CruiseControl简介及使用举例
持续集成实践之CruiseControl
cruisecontrol.war 文件,你可以直接将这个文件 COPY 到你的%TOMCAT_HOME%\webapps 目录下,不 过这种方式通常都会出错,前 面我们讲过CC的WEB组件要访问我们的项目build 的状态文件,而下载的 CC2.2 里面自带的 ...
cruisecontrol+maven2配置做持续集成
持续集成(CruiseControl-2.7.3)
CruiseControl.NET 是 .NET 平台下的持续集成工具,CruiseControl (Java) 的 .NET 移植版本。CruiseControl是一个针对持续构建程序(项目持续集成)的框架,它包括一个email通知的插件,Ant和各种各样的CVS工具。Cruise...
NULL 博文链接:https://eric-gao.iteye.com/blog/899599
持续集成工具-CruiseControl配置常见问题
CruiseControl与EMMA集成的方法与步骤 CruiseControl与EMMA集成的方法与步骤