日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
SVN+CruiseControl+ANT環(huán)境搭建和配置介紹

向您推薦《使用SVN+CruiseControl+ANT實(shí)現(xiàn)持續(xù)集成》

成都創(chuàng)新互聯(lián)專注于許昌企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè)公司,商城建設(shè)。許昌網(wǎng)站建設(shè)公司,為許昌等地區(qū)提供建站服務(wù)。全流程專業(yè)公司,專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,成都創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)

  1. 環(huán)境搭建

  1.1. 下載及目錄介紹

  從官方站點(diǎn)http://cruisecontrol.sourceforge.net/download.html下載一份最新的 CC 壓縮包,最新的版本號(hào)為2.8.4

  下載了cruisecontrol-bin-2.8.4.zip 直接解壓到E盤下,文件結(jié)構(gòu)如下圖:

apache-ant-1.7.0:CC中使用ANT工具

  artifacts:CC編譯生成發(fā)布包

  etc:自帶容器Jetty對(duì)應(yīng)的配置文件

  lib:自帶容器Jetty所需要到的Jar包

  logs:各項(xiàng)目生成日志存在文件夾

  projects:存放各項(xiàng)目文件目錄,進(jìn)行程序的編譯

  webapps:CC自帶應(yīng)用程序存放目錄

  cc-config:用于CC環(huán)境變量配置

  cruisecontrol:主應(yīng)用程序CC目錄

  dashboard:用于編譯結(jié)果發(fā)布程序

  documentation:CC相關(guān)文檔

  config.xml:用于CC編譯配置文件,通過修改配置文件引入不同的插件,執(zhí)行不同的編譯流程

  cruisecontrol.bat:在WINDOWS環(huán)境下進(jìn)行啟用CC批處理腳本

  cruisecontrol.sh:在Linux等環(huán)境下啟動(dòng)CC腳本

  dashboard-config.xml:Dashboard配置文件

  1.2. 運(yùn)行環(huán)境

  使用JAVA開發(fā)的CC,當(dāng)然需要運(yùn)行在JDK下并通過Web容器進(jìn)行發(fā)布,具體要求如下:

  CC需要運(yùn)行在至少JDK 1.4環(huán)境中,在環(huán)境變量中設(shè)置有JAVA_HOME,并把java/bin加入到path中;

  CC已經(jīng)內(nèi)建集成了ANT,不需要單獨(dú)引入;

  CC可以運(yùn)行在多種應(yīng)用服務(wù)器中,在自帶壓縮包中捆綁了一個(gè)開源應(yīng)用服務(wù)器,那就是Jetty 6,下面為了盡快建立我們的環(huán)境,以下將使用該容器。

  1.3. 快速啟動(dòng)CC

  運(yùn)行根目錄下批處理文件cruisecontrol.bat,出現(xiàn)如下界面:

  運(yùn)行成功后,我們可以在瀏覽器輸入 http://localhost:8080/cruisecontrol/來驗(yàn)證一下結(jié)果(采用Jetty默認(rèn)的設(shè)置,端口號(hào)為 8080)

如果看到上圖結(jié)果,恭喜你已經(jīng)成功啟動(dòng)CC。

另外CC提供了更加人性化結(jié)果展示Dashboard界面,在瀏覽器輸入 http://localhost:8080/dashboard/

2. 配置介紹

  當(dāng)CC服務(wù)器啟動(dòng)時(shí),會(huì)自動(dòng)檢測(cè)配置信息中的任務(wù)信息,并對(duì)其進(jìn)行校驗(yàn)和初始化,之后所有的工作,都是依據(jù)該配置信息進(jìn)行的。

  CC的配置使用了其安裝目錄下的config.xml文件,我們可以通過文本編輯器打開該配置文件,編輯各種配置信息。配置信息的定義遵循了標(biāo)準(zhǔn)XML文件格式,同時(shí)遵循了ANT自動(dòng)構(gòu)建配置信息的規(guī)則。

  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="構(gòu)建日志" 
  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. 執(zhí)行配置解析

  一個(gè)持續(xù)集成項(xiàng)目是從project節(jié)點(diǎn)開始的,對(duì)該項(xiàng)目進(jìn)行的操作都會(huì)作為子節(jié)點(diǎn)存在與該根節(jié)點(diǎn)之下。對(duì)于每一個(gè)project節(jié)點(diǎn),CC系統(tǒng)都會(huì)將其當(dāng)作一個(gè)處理單元,并在最初建立該項(xiàng)目的時(shí)候進(jìn)行初始化操作。

  name是project節(jié)點(diǎn)常用的屬性,也是必設(shè)且值唯一的屬性,該屬性的值會(huì)在整個(gè)CC系統(tǒng)使用,包括配置文件的${project.name}變量值。

  在一個(gè)項(xiàng)目節(jié)點(diǎn)中,我們可以定義監(jiān)聽器、本地目錄位置、變更輪詢目錄位置、輪詢間隔、任務(wù)執(zhí)行、單元測(cè)試、日志記錄等多種項(xiàng)目操作,同時(shí)CC系統(tǒng)支持插件擴(kuò)展功能,這些擴(kuò)展插件可以直接在一個(gè)項(xiàng)目中使用。

  2.3.1. 輪詢版本控制系統(tǒng)

  版本庫輪詢機(jī)制是使用modificationset進(jìn)行配置的。CC系統(tǒng)內(nèi)置的輪詢模塊會(huì)根據(jù)設(shè)定的時(shí)間段對(duì)版本庫進(jìn)行檢測(cè),一旦發(fā)現(xiàn)版本庫發(fā)生變更,就會(huì)調(diào)用Check Out Build Test Publish等一系列的操作,對(duì)最新的代碼進(jìn)行集成,并運(yùn)行一系列預(yù)先設(shè)定的任務(wù)。

  CC支持十多種版本控制系統(tǒng),比如CVS、SVN、Starteam、VSS等,對(duì)這些版本控制系統(tǒng)的調(diào)用,只需要配置相應(yīng)的節(jié)點(diǎn)名稱即可。本文以SVN版本管理系統(tǒng)為例。在modificationset節(jié)中,我們看到唯一的一個(gè)子節(jié)點(diǎn):

  

  該節(jié)點(diǎn)使用了svn關(guān)鍵字,表示當(dāng)前工程使用的版本控制系統(tǒng)是SVN,localWorkingCopy屬性的值是告訴CC本地的拷貝目錄,其余的工作則由CC內(nèi)置的操作模塊進(jìn)行。

  2.3.2. 執(zhí)行構(gòu)建腳本

  實(shí)質(zhì)上,執(zhí)行構(gòu)建腳本也是CC的一個(gè)可定制任務(wù),但由于自動(dòng)構(gòu)建是持續(xù)集成的一個(gè)重要組成部分,因此在此單獨(dú)提出。

  CC的自動(dòng)構(gòu)建是使用ANT工具來進(jìn)行的,當(dāng)然我們也可以使用其它的自動(dòng)構(gòu)建工具來替代(比如Maven),這些的工具僅僅是體現(xiàn)在一個(gè)任務(wù)配置語句上,在此,以ANT工具為例。

  在schedule節(jié),我們同樣使用了一個(gè)子節(jié)點(diǎn)來描述自動(dòng)構(gòu)建工作:

  

  該節(jié)點(diǎn)使用了ant關(guān)鍵字,表示該任務(wù)使用了ant來進(jìn)行自動(dòng)構(gòu)建任務(wù),anthome屬性則指定了ANT工具的具體位置,buildfile屬性則指定了ANT進(jìn)行自動(dòng)構(gòu)建所使用的配置文件Build.xml文件的路徑。

這樣,在CC決定進(jìn)行自動(dòng)構(gòu)建任務(wù)時(shí),會(huì)根據(jù)設(shè)定找到執(zhí)行所使用到的信息。

  2.3.3. 執(zhí)行單元測(cè)試

  CC可以自動(dòng)偵測(cè)自動(dòng)構(gòu)建配置文件中單元測(cè)試的任務(wù),并在代碼集成完畢將執(zhí)行結(jié)果反饋到相應(yīng)的模塊。

  ANT支持xUnit系列的單元測(cè)試框架,只需要在配置文件中加入一個(gè)target節(jié),即可在自動(dòng)構(gòu)建完成之后,進(jìn)行單元測(cè)試工作,有關(guān)的詳細(xì)配置,請(qǐng)參閱ANT官方文檔。

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


標(biāo)題名稱:SVN+CruiseControl+ANT環(huán)境搭建和配置介紹
文章源于:http://www.5511xx.com/article/dpjgigh.html