日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(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編譯配置文件,通過(guò)修改配置文件引入不同的插件,執(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開(kāi)發(fā)的CC,當(dāng)然需要運(yùn)行在JDK下并通過(guò)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è)開(kāi)源應(yīng)用服務(wù)器,那就是Jetty 6,下面為了盡快建立我們的環(huán)境,以下將使用該容器。

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

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

  運(yùn)行成功后,我們可以在瀏覽器輸入 http://localhost:8080/cruisecontrol/來(lái)驗(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文件,我們可以通過(guò)文本編輯器打開(kāi)該配置文件,編輯各種配置信息。配置信息的定義遵循了標(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)開(kāi)始的,對(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)聽(tīng)器、本地目錄位置、變更輪詢目錄位置、輪詢間隔、任務(wù)執(zhí)行、單元測(cè)試、日志記錄等多種項(xiàng)目操作,同時(shí)CC系統(tǒng)支持插件擴(kuò)展功能,這些擴(kuò)展插件可以直接在一個(gè)項(xiàng)目中使用。

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

  版本庫(kù)輪詢機(jī)制是使用modificationset進(jìn)行配置的。CC系統(tǒng)內(nèi)置的輪詢模塊會(huì)根據(jù)設(shè)定的時(shí)間段對(duì)版本庫(kù)進(jìn)行檢測(cè),一旦發(fā)現(xiàn)版本庫(kù)發(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工具來(lái)進(jìn)行的,當(dāng)然我們也可以使用其它的自動(dòng)構(gòu)建工具來(lái)替代(比如Maven),這些的工具僅僅是體現(xiàn)在一個(gè)任務(wù)配置語(yǔ)句上,在此,以ANT工具為例。

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

  

  該節(jié)點(diǎn)使用了ant關(guān)鍵字,表示該任務(wù)使用了ant來(lái)進(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


分享文章:SVN+CruiseControl+ANT環(huán)境搭建和配置介紹
網(wǎng)站網(wǎng)址:http://www.dlmjj.cn/article/dpjgigh.html