搭建你的持續整合伺服器 – CruiseControl step by step(1)

來源:互聯網
上載者:User

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

一、我使用的CruiseControl版本

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

二、得到CruiseControl的分支版本

    要得到這個分支版本,你可以使用subversion不用任何密碼從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 用戶端軟體,因為在構建時,它會用到javahl。
       在剛剛checkout出來的CruiseControl目錄下,有一個批次檔,名為release.bat。運行這個批次檔,你會在target目錄下發現一個壓縮檔,名這cruisecontrol-bin-2.7.2-dev.zip。將其解壓到一個目錄,我們這裡解壓到C盤根目錄下。解壓後,目錄結構如下:

      2.  直接使用已構建完成的CruiseControl 
如果你不想做這一步,也可以在binaryrelease目錄下發現解壓後的檔案,把它們拷貝到相應的目錄下也可以。

四、運行CruiseControl

   CruiseControl可以運行在多種應用伺服器中,當然,它自己也捆綁了一個開源應用伺服器,那就是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.