新聞中心
向您推薦《使用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
- password="xxx"
- returnname="CruiseControl"
- returnaddress="xxx@163.com"
- subjectprefix="構(gòu)建日志"
- xsldir="webapps/cruisecontrol/xsl"
- css="webapps/cruisecontrol/css/cruisecontrol.css">
58
2.2. build.xml
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


咨詢
建站咨詢
