CruiseControl簡介

          CruiseControl:簡稱CC,持續集成工具,主要提供了基于版本管理工具(如CVS)感知變化或每天定時的持續集成,并提供持續集成報告、Email、Jabber等等方式通知相關負責人,其要求是需要進行日構建的項目已編寫好全自動的項目編譯腳本(可基于Maven或Ant)。

          在這里以一個項目來簡要的說說cc的使用,通常項目對于日構建的類型的需求分為兩種:
          1、每天的定時自動集成。
          2、感知版本管理工具中的變化而進行自動集成。

          項目對于日構建的目標通常為:
          1、感知版本管理工具的變化,如發現有變化,則進行集成。
          2、調用項目編譯腳本進行項目集成。
          3、合并項目編譯腳本產生的單元測試、功能測試的日志。
          4、將集成報告發布至網站中。
          5、將集成的結果以郵件、jabber等等方式通知相應的負責人。

          基于上面的要求,項目編譯腳本采用Maven,版本管理工具采用CVS,持續集成工具采用CC,假設已編寫好了基于Maven的項目編譯腳本,CruiseControl的腳本如下編寫:
          <?xml version="1.0" encoding="UTF-8"?>
          <cruisecontrol>
            <project name="demo" buildafterfailed="true">
              <!-- 每次檢測是否有變化時先運行此處 -->
              <bootstrappers>
                <currentbuildstatusbootstrapper file="logs/demo/buildstatus.txt"/>
           </bootstrappers>

              <!-- 檢測是否有變化,如有變化則開始集成 -->
              <modificationset quietperiod="10">
                     <!-- 基于cvs的檢測 -->
                     <cvs localworkingcopy="demo"/>
              </modificationset>

              <!-- 持續集成-->
              <schedule interval="18">
             <!-- 項目的編譯腳本 -->
              <maven mavenscript="D:/tools/maven/bin/maven.bat"
              projectfile="demo/project.xml"
              goal="demo:build"/>
              </schedule>

              <!-- 持續集成過程的日志記錄以及需要合并的日志 -->
              <log dir="logs/demo">
              <!-- 合并項目編譯腳本中產生的單元、功能測試日志 -->
            <merge dir="demo/target/test-reports"/>
           </log>

              <!-- 持續集成后結果的公布 -->
              <publishers>
                <currentbuildstatuspublisher file="logs/demo/buildstatus.txt"/> 
               <!-- 發布持續集成的結果至網站中,此方法還不是最理想的 -->
                <execute command="D:/tools/cc/reporting/jsp/build.bat war"/>
                <!-- 郵件通知相關的負責人 -->
                <email mailhost="smtp.yourdomain.com"
                  returnaddress="buildmaster@yourdomain.com"
                  skipusers="true"
                  reportsuccess="fixes"
                  subjectprefix="[CruiseControl]"
                  buildresultsurl="http://buildserver:8080/cruisecontrol/buildresults">
                  <failure address="developers@yourdomain.com" />
                  <success address="developers@yourdomain.com" />
                </email>
              </publishers>
            </project>
          </cruisecontrol>

          關于CC 的腳本中xml的規范、cc的安裝和運行請參考CruiseControl的官方網站:
          cruisecontrol.sourceforge.net

          posted on 2005-02-20 04:57 BlueDavy 閱讀(1163) 評論(0)  編輯  收藏 所屬分類: Java

          公告

           









          feedsky
          抓蝦
          google reader
          鮮果

          導航

          <2005年2月>
          303112345
          6789101112
          13141516171819
          20212223242526
          272812345
          6789101112

          統計

          隨筆分類

          隨筆檔案

          文章檔案

          Blogger's

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 东乌| 无极县| 文昌市| 磐安县| 讷河市| 江门市| 元氏县| 辽宁省| 鄱阳县| 左贡县| 隆化县| 漳平市| 龙南县| 潜山县| 化德县| 健康| 思南县| 阆中市| 齐河县| 龙泉市| 孟连| 南漳县| 松桃| 楚雄市| 林口县| 祁连县| 浦东新区| 桃园县| 贵定县| 兴隆县| 永城市| 阿荣旗| 天峨县| 云林县| 梨树县| 平原县| 潍坊市| 罗山县| 金华市| 绥芬河市| 仙居县|