Hudson+Maven+SVN 快速搭建持續集成環境

hudson 是一個可擴展的持續集成引擎,Hudson很是易於安裝和配置,簡單易用,下面看看咱們是如何幾分鐘就快速搭建一個持續集成環境吧。 java

假設咱們目前已經有2個maven項目:entities(JAVA類庫),web(web應用,依賴entities)。 web

 

1、安裝hudson: apache

     下載http://hudson-ci.org/latest/hudson.war ,把下載的war包直接扔到tomcat下,啓動tomcat。 tomcat

    hudson就安裝完畢,是否是很簡單啊。 服務器

 

2、 配置hudson: app

    一、打開 http://localhost:8080/hudson/ ,第一次進入裏面沒有數據,咱們須要建立job,咱們這有2個項目,須要建立2個job. webapp

 

    二、點擊左上角的new job,在new job頁面須要選擇job的類型,hudson支持幾種類型,咱們選擇maven2 project:見下圖: maven

 

     三、選擇完job類型後,進會進入詳細配置界面,詳細配置界面的配置項不少,不過不用怕,大部分使用默認配置就能夠了,下面就說說咱們須要修改的幾個地方: svn

        1): Source Code Management ui

             由於咱們使用的SVN,因此這裏選擇subversion,並在Repository URL中輸入咱們的SVN地址:

            http://localhost/svn/Entites

  

           注:在輸入URL後,若是SVN須要驗證(hudson會自動檢測是否須要驗證),會展URL輸入框下方顯示須要驗證,點擊輸入驗證信息的連接,輸入SVN的用戶名和密碼就能夠。在試用的過程當中發現若是使用svn自帶的服務器,使用svn://方式訪問,若是svn須要驗證,hudson支持不論,若是不須要驗證就能夠,建議仍是經過apache http方式來訪問svn,這樣hudson支持比較好。

 

         2) : 配置自動構建的計劃,假設咱們想讓項目中天天12點和晚上8點自動構建一次,只須要在Build Triggers中選擇    Build periodically,並在Schedule中輸入 0 12,20 * * *。

          注: Schedule的配置規則是有5個空格隔開的字符組成,從左到右分別表明:分 時 天 月 年。*表明全部,

                 0 12,20 * * * 表示在任何年任何月的任何天的12和20點的0分 進行構建

 

         3):配置到這裏,可能有人發如今Build配置節點,有紅色錯誤信息,提示

              Hudson needs to know where your Maven2 is installed.
              Please do so from the system configuration.

             這是由於hudson找不到maven的緣由,點擊"system configuration",是system configuration的maven配置中添加

            maven目錄就OK,以下圖:

  

 

          4) 保存好全部配置後,咱們第1個job就算是完成了。

 

          5) 建立web的job, 這裏的配置和上面的配置同樣,只須要把svn地址改爲:http://localhost/svn/Web

 

3、手動構建試試

      在通過上面的配置後,回到hudson首頁,在首頁能夠看到剛纔添加的2個job,以下圖:

     點擊某1個job後後面的"Schedule a build"圖片手動構建,點擊完後,會在左邊的Build Queue或者Build Executor Status  顯示正在構建的任務,在自動構建完後,刷新頁面,就能夠看到構建結果了,如何某個項目構建失敗,點擊項目後面的構建數字(從1開始遞增)進入項目的"Console Output "能夠查看項目構建失敗的緣由。固然咱們也能夠配置把構建失敗的結果發到咱們郵箱。

 

到目前爲止,1個簡單的自動構建環境就搭建好了,很簡單吧。

 

4、自動部署

    

      看完上面發現hudson配置真的很簡單,幾分鐘自動構建環境就出來了,但環境搭建好後發現1個問題,如今是能自動構建了,可是構建好的web.war都仍是在hudson目錄下,並無發佈到tomcat中,還須要手動copy過去?

 

     是個問題,不過別急,要達到自動部署的目的,須要安裝1個hudson的部署插件,下載地址:

     https://hudson.dev.java.net/files/documents/2402/106347/deploy.hpi

 

    下載完後,進入hudson的插件管理中心:http://localhost:8080/hudson/pluginManager/  (能夠點擊首頁的"Manage Hudson")找到這個連接,在插件管理中心點擊Advanced,在upload plugin 中上傳剛纔下載的插件,上傳完畢後須要重啓hudson才能完成安裝(即重啓tomcat),重啓後從新進入web的configure 配置界面,在最下面會發現多處1個配置項,咱們配置以下:

 

 

     注:war file使用的是hudson workspace的相對目錄,hudon默認的目錄在:

           C:\Documents and Settings\用戶名\.hudson\  

           workspace目錄:C:\Documents and Settings\用戶名\.hudson\ jobs\web\workspace\

          最終產生的war在:C:\Documents and Settings\用戶名\.hudson\ jobs\web\workspace\Web\target\web.war

 

    保存配置再從新構建一次,打開tomcat的webapps目錄,發現web.war終於過來了,大功告成。

相關文章
相關標籤/搜索