SVN+CruiseControl+ANT环境搭建和配置介绍

向您推荐《使用SVN+CruiseControl+ANT实现持续集成》

成都创新互联专注于许昌企业网站建设,成都响应式网站建设公司,商城建设。许昌网站建设公司,为许昌等地区提供建站服务。全流程专业公司,专业设计,全程项目跟踪,成都创新互联专业和态度为您提供的服务

  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配置文件

  1.2. 运行环境

  使用JAVA开发的CC,当然需要运行在JDK下并通过Web容器进行发布,具体要求如下:

  CC需要运行在至少JDK 1.4环境中,在环境变量中设置有JAVA_HOME,并把java/bin加入到path中;

  CC已经内建集成了ANT,不需要单独引入;

  CC可以运行在多种应用服务器中,在自带压缩包中捆绑了一个开源应用服务器,那就是Jetty 6,下面为了尽快建立我们的环境,以下将使用该容器。

  1.3. 快速启动CC

  运行根目录下批处理文件cruisecontrol.bat,出现如下界面:

  运行成功后,我们可以在浏览器输入 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.   
  3.  
  4.   
  5.  
  6.   
  7.  
  8.  
  9.   
  10.   
  11.  
  12.   
  13.   
  14.   
  15.   
  16.   
  17.  
  18.   
  19.  
  20.   
  21.   
  22.   
  23.   
  24.   
  25.   
  26.  
  27.   
  28.   
  29.  
  30.   
  31.  
  32.   
  33.  password="xxx" 
  34.  returnname="CruiseControl" 
  35.  returnaddress="xxx@163.com" 
  36.  subjectprefix="构建日志" 
  37.  xsldir="webapps/cruisecontrol/xsl" 
  38.  css="webapps/cruisecontrol/css/cruisecontrol.css"> 
  39.   
  40.   58  
  41.   
  42.  
  43.   

  2.2. build.xml

 
 
 
 
  1.  
  2.  
  3.  
  4.   
  5.   
  6.   
  7.  
  8.   
  9.   
  10.   
  11.   
  12.   
  13.   
  14.   
  15.   
  16.  
  17.   
  18.   
  19.  
  20.   
  21.   
  22.   
  23.   
  24.   
  25.   
  26.   
  27.   
  28.   
  29.   
  30.   
  31.   
  32.   
  33.   
  34.   
  35.   
  36.   
  37.   
  38.   
  39.   
  40.   
  41.   
  42.   
  43.   
  44.   
  45.   
  46.   
  47.  
  48.  

  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节中,我们看到唯一的一个子节点:

  

  该节点使用了svn关键字,表示当前工程使用的版本控制系统是SVN,localWorkingCopy属性的值是告诉CC本地的拷贝目录,其余的工作则由CC内置的操作模块进行。

  2.3.2. 执行构建脚本

  实质上,执行构建脚本也是CC的一个可定制任务,但由于自动构建是持续集成的一个重要组成部分,因此在此单独提出。

  CC的自动构建是使用ANT工具来进行的,当然我们也可以使用其它的自动构建工具来替代(比如Maven),这些的工具仅仅是体现在一个任务配置语句上,在此,以ANT工具为例。

  在schedule节,我们同样使用了一个子节点来描述自动构建工作:

  

  该节点使用了ant关键字,表示该任务使用了ant来进行自动构建任务,anthome属性则指定了ANT工具的具体位置,buildfile属性则指定了ANT进行自动构建所使用的配置文件Build.xml文件的路径。

这样,在CC决定进行自动构建任务时,会根据设定找到执行所使用到的信息。

  2.3.3. 执行单元测试

  CC可以自动侦测自动构建配置文件中单元测试的任务,并在代码集成完毕将执行结果反馈到相应的模块。

  ANT支持xUnit系列的单元测试框架,只需要在配置文件中加入一个target节,即可在自动构建完成之后,进行单元测试工作,有关的详细配置,请参阅ANT官方文档。

原文链接:http://www.cnblogs.com/shishanyuan/archive/2011/09/15/2177862.html

新闻名称:SVN+CruiseControl+ANT环境搭建和配置介绍
文章出自:http://www.shufengxianlan.com/qtweb/news31/518631.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联