搭建你的持續整合server - CruiseControl step by step(1)

來源:互聯網
上載者:User

標籤:style   blog   http   java   使用   os   

CruiseControl是CIserver的老者,誕生已是多年,在很多方面,CruiseControlserver已經成為持續整合實踐的同義字。而如今,CruiseControl已發展成為一個家族式系統,包含CruiseControl.java、CruiseControl.net、CruiseControl.ruby等適應不同語言環境的實現,其強大的外掛程式和擴充能力也是諸多同類系統無法比你的。而在這裡,我僅僅介紹該家族的本家CruiseControl.java,即CruiseControl。CruiseControl是一個不錯的持續整合server,只是國內社區的普遍反應是:它的配置太麻煩,無從下手。從本篇文章開始,我將逐步介紹CruiseControl的環境搭建與配置,以及持續整合中的一些實踐。我們將從最簡單的使用方式(stand-alone)開始,以便您能夠高速開始您的持續整合之旅,而不必面對“千奇百怪”的問題。
好!先讓我們簡單搭建個持續整合server再說吧

一、我使用的CruiseControl版本號碼

  1. CruiseControl是一個java開源項目,我將以它近期的一個分支版本號碼來介紹它的使用。CruiseControl近期公布的版本號碼是V2.7.1。這個分支版本號碼就是在V2.7.1基礎之上。
  2. 這個分支版本號碼包括一個Dashboard,能夠方便地看到各項目的構建狀態。
  3. 這個分支版本號碼當然還支援多個Build Loop,你能夠在多個機器上部署獨立的Build Loop,從而建立你自己的Build Grid。

二、得到CruiseControl的分支版本號碼

    要得到這個分支版本號碼,你能夠使用subversion不用不論什麼password從CruiseControl的Repository中檢出。命令例如以下:
svn checkout https://cruisecontrol.svn.sourceforge.net/svnroot/cruisecontrol/branches/cce/cruisecontrol/

三、構建CruiseControl

       0.    你機器上至少要安裝有JAVA 1.4,並在環境變數中設定有JAVA_HOME,並把java/bin增加到path中。CruiseControl內建了ANT,所以不用事先安裝。

  1. 從源碼中構建CruiseControl

       假設從原始碼中構建CruiseControl,要確保你的機器能夠訪問互連網。由於構建過程中要檢查一些license。另外,最好有SVN client軟體,由於在構建時,它會用到javahl。
       在剛剛checkout出來的CruiseControl檔案夾下,有一個批次檔,名為release.bat。執行這個批次檔,你會在target檔案夾下發現一個壓縮檔,名這cruisecontrol-bin-2.7.2-dev.zip。將其解壓到一個檔案夾,我們這裡解壓到C盤根資料夾下。解壓後,檔案夾結構例如以下:

      2.  直接使用已構建完畢的CruiseControl 
假設你不想做這一步,也能夠在binaryrelease檔案夾下發現解壓後的檔案,把它們複製到對應的檔案夾下也能夠。

四、執行CruiseControl

   CruiseControl能夠執行在多種應用server中,當然,它自己也捆綁了一個開源應用server,那就是Jetty 6。為了儘快建立我們的環境,我們這裡臨時使用它自己捆綁的Jetty,高速開始我們的持續整合之旅。
   直接執行CruiseControl檔案夾下的CruiseControl.bat,它會自行啟動Jetty6,當從Console中看到它啟動完畢後,你就能夠在瀏覽器中訪問http://localhost:8080/dashboard,此時你會看到一個名為connectFour的示範範例項目在Dashboard上顯示了。



(假設你足夠快的話,你會發現Dashboard 上的小方塊是從灰色變成深綠色的。為什麼呢?我們以後再說。)
“綠色”表示該項目構建通過。假設要是有多重專案的話,應該看到多個小方塊。

點擊“Builds” Tab頁,就到了 Builds 頁。這一頁會以列表的方式顯示全部的項目。當前僅僅有一個項目,所以在列表中僅僅有一行,例如以所看到的:

 在該頁面上點擊某個項目時,會開啟Build Detail頁,顯示該項目近期一次Build的資訊。頁面右側是該項目全部曆史構建資訊。你會發現,這時connectFour項目有兩個構建曆史版本號碼,一個是剛剛構建完畢的,還有一個是兩年前的構建。這些資訊是來自於CruiseControl對該項目的記錄檔。此時,點擊這兩個構建結果中的不論什麼一個,都會開啟該次構建的Build Detail頁面,顯示相關的構建曆史資訊。例如以所看到的:


我們將在下一篇文章中簡要介紹CruiseControl的設定檔,為您增加自己的構建項目做準備。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.