持續集成-項目部署

作者:姚豔紅

 

     繼上篇把Hudson+Sonar集成好以後,那就需要發揮他們兩個的威力了。現在就把我們的應用部署上去,讓它持續集成起來!

 

 

Step by step:

1、打開Hudson,進入《新建任務》http://10.20.156.23:36100/hudson/view/All/newJob,如下圖


2、這時,需要爲新的構建任務指定一個名稱。(這裏輸入的任務名稱爲:maven-introduce )這裏有幾種的任務類型可供您選擇,鑑於初步介紹,先選擇Build a free-style software project ,這個更加普遍化,可以更靈活的配置,一般二房庫的部署建議選擇該種類型,對於其他的類型, 經常使用的是Copy existing job ; 這主要爲了能在複製現有的任務基礎上新建一次構建任務。如果是maven 部署方式的應用可以選擇build a maven2 product 工程。點擊OK 按鈕,進入下一界面。如下圖:



 

此圖中有很多構建任務的設置,具體介紹如下:

Project name 是要運行的項目名稱。

Description 是一個自由項,主要用來說明你關於這次構建工作的描述。可不填。

Discard old builds 是控制着您想要在Hudson 所在的磁盤把構建記錄存儲的有效期 ( 諸如控制檯輸出、編譯產成品等等)Hudson 爲此提供了兩個標準:1 。時間驅動。在Hudson 中您可以判斷如果達到一定時限來刪除一條記錄( 例 如,七天前)2 。數量驅動。在Hudson 中您可以確保它擁有N 份構建。如果又有新的構建開始,最早的那份( 記錄) 就將被刪除。Hudson 也可以讓您 建立的個別構建定義爲' 永遠保持這個記錄' ,以便防止某些重要的構建被自動丟棄。) 這裏輸入的是5 ,也就是hudson 確保5 份構建。

Disable build : 如果這裏被勾選,這項工作將不會執行構建,直到選項禁用爲止。  

Source code management : 在默認情況下是這三個選項:Subversion,CVS,None

如果您安裝了一個與SCM 相關的插件,並重新啓動Hudson ,那麼在這個清單上也將出現一些新的選擇。

Ps :以上五點中除了第一點之外,其他都是可選擇項,一般沒有特殊需求不做勾選。

Build Triggers 下包含下列三個選項

Build after other projects are built : 此選項支持一條裝配( 流水作業)—— 作業依賴: 一個作業依賴於另一個作業的輸出的情況 —— 就是可以支持連續編譯多個任務,設置這個選項後,在其他任務編譯之後,可以立即自動啓動這個任務,例如,我們通常在項目中會有二房庫的部署,我們設置,先部署二房庫,然後在編譯我們的應用,使得依賴於二房庫的應用能夠正常編譯成功。

      Poll SCM : 這是CI 系統中常見的選項。當您選擇此選項,您可以指定一個定時作業表達式來定義Hudson 每隔多久檢查一下您源代碼倉庫的變化。如果發現變化,就執行一次構 建。例如,表達式中填寫0,15,30,45 * * * * 將使Hudson 每隔15 分鐘就檢查一次您源碼倉庫的變化。關於這個表達式的定義可參考網址:

http://www.blogjava.net/xmatthew/archive/2009/02/15/253864.html

     Build periodically : 此選項 ( 也是使用定時作業表達式) 僅僅通知Hudson 按指定的頻率對項目進行構建,而不管SCM 是否有變化。如果想在這個作業中運行一些測試用例的話,它就很有幫助。    

     Add build step : 按一下這個按鈕,添加了一項指令以執行構建腳本。您的指令可以是下列之一:

  1. 執行 Shell
  2. 執行 Windows  批處理
  3. 使用Ant
  4. 使用Maven

如下圖:


選擇使用maven 後,在下圖中


 

       可以填入mvn 的配置文件,以及編譯命令,此時需要配置生成sonar 的編譯命令:mvn clean install -Dmaven.test.skip=false –Dautoconfig.skip=true sonar:sonar

如果想構建指定工程目錄下的模塊,可以將此處的pom.xml 文件添加相應目錄,例如:

biz/credit/pom.xml, 這樣就可以直接構建此工程目錄下的模塊代碼了。

Publish javadoc : 如果構建腳本能生成JavaDoc ,此選項將指示Hudson 發佈這些內容,而且立即把它公佈在當前工作的主頁上。每一個成功構建的文檔內容都可以保 留,但在默認情況下只保留最新的。

Publish JUnit test result report : 如果構建腳本執行了JUnit 測試,此選項將指示Hudson 處理XML 測試文檔併爲每次連續構建產生一份可持續的報告,依據正在進行的測試彙總處理 結果。其結果是當前工作主頁的一份報告,作業中的單元測試會隨着時間的推移按由老至新進行陳列。

Build other projects : 較之前面的選項,這個選項主要用來實現一個合乎邏輯的構建和測試過程,它會被分爲兩個或兩個以上的物理工作,並且會按順序執行。當此項被選擇後,您將得到 一個字段,可以在其中輸入您想在當前作業中後執行的其它作業名[ 多項作業可用逗號分隔] 。即使目前的作業得出結論說構建可能不穩定,您也可以選擇這樣 做。( 關於 作業的穩定性 請查閱 作業狀態 章節以獲取更多信息)

E-mail notification : 當您選擇此選項,您可以輸入一個或多個電子郵件地址[ 多個可用空格分隔] ,當Hudson 完成了執行作業後,將會給它們發送通知。事件觸發時將產生一份 Email ,包括構建失敗、構建不穩定等。

       點擊save 按鈕,保存該任務的配置。然後在左側菜單選擇主頁,在主頁中右側顯示的是所有新建的job 任務。如下圖:


      在該列表中可以看到任務名稱,上次運行成功的時間和第幾次運行,比如第一行上次成功中的19min#21 )就表示19 分鐘前運行了第21 次,並且成功。上次失敗類似。N/A 表示還沒有成功或者失敗運行過。上次持續時間表示運行所花費的事件。點擊後面的圖標便可以再次開始運行任務。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章