posts - 36, comments - 419, trackbacks - 0, articles - 0
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

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

          Posted on 2009-10-22 16:19 BearRui(AK-47) 閱讀(20014) 評論(8)  編輯  收藏 所屬分類: 集成、部署

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

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

          ?

          一、安裝hudson:

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

          ? ? hudson就安裝完畢,是不是很簡單啊。

          ?

          二、 配置hudson:

          ??? 1、打開 http://localhost:8080/hudson/ ,第一次進入里面沒有數據,我們需要創建job,我們這有2個項目,需要創建2個job.

          ?

          ??? 2、點擊左上角的new job,在new job頁面需要選擇job的類型,hudson支持幾種類型,我們選擇maven2 project:見下圖:

          ?

          ???? 3、選擇完job類型后,進會進入詳細配置界面,詳細配置界面的配置項很多,不過不用怕,大部分使用默認配置就可以了,下面就說說我們需要修改的幾個地方:

          ??????? 1): Source Code Management

          ???????????? 因為我們使用的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中選擇 ? ?

          ?

          ???????????? 這是因為hudson找不到maven的原因,點擊"system configuration",是system configuration的maven配置中添加

          ??????????? maven目錄就OK,如下圖:

          ??

          ?

          ????????? 4) 保存好所有配置后,我們第1個job就算是完成了。

          ?

          ??????????5) 創建web的job,?這里的配置和上面的配置一樣,只需要把svn地址改成:http://localhost/svn/Web

          ?

          三、手動構建試試

          ????? 在經過上面的配置后,回到hudson首頁,在首頁可以看到剛才添加的2個job,如下圖:

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

          ?

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

          ?

          四、自動部署

          ????

          ????? 看完上面發現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終于過來了,大功告成。



          [作者]:BearRui(AK-47)
          [博客]: http://www.aygfsteel.com/bearrui/
          [聲明]:本博所有文章版權歸作者所有(除特殊說明以外),轉載請注明出處.
          英雄,別走啊,幫哥評論下:  

          精彩推薦 好文要頂 水平一般 看不懂 還需努力

          評論

          # re: Hudson+Maven+SVN 快速搭建持續集成環境  回復  更多評論   

          2010-01-15 12:59 by cool
          文章寫的很詳盡,全部看下來了,收獲不小,但是就是在最后一步沒有搞定,你所上傳的圖片正在審核中,看不到,所以不知道你說的:配置生成好的war是怎么進入tomcat的webapp下的,能否告知一下,我的郵箱lacorey.li@gmail.com 或者告知你的聯系方式!

          # re: Hudson+Maven+SVN 快速搭建持續集成環境  回復  更多評論   

          2010-05-19 17:28 by zmoxga@sina.com
          這樣生成War到tomcat下 還需要重新啟動tomcat? zmoxga@sina.com
          還是修改了war tomcat 會重新解壓war里面定站點
          = =如果類似淘寶這樣定站點,更新的時候不能完全停止項目 至少要提示更新 ...
          要怎么解決

          # re: Hudson+Maven+SVN 快速搭建持續集成環境  回復  更多評論   

          2010-05-19 17:35 by BearRui(AK-47)
          @zmoxga@sina.com
          如果tomcat是熱部署的話應該會自動重啟。

          這種持續集成,不應該用在正式環境,只適合用于測試環境,所以不能停止項目,提示更新。

          # re: Hudson+Maven+SVN 快速搭建持續集成環境  回復  更多評論   

          2010-06-15 16:50 by jelver
          不錯,呵呵

          # re: Hudson+Maven+SVN 快速搭建持續集成環境  回復  更多評論   

          2010-06-28 11:50 by 開花流水
          看不懂哦,~_~

          # re: Hudson+Maven+SVN 快速搭建持續集成環境  回復  更多評論   

          2011-03-17 15:15 by dar0826
          現在就是缺少這方面的資料,我頂你~

          # re: Hudson+Maven+SVN 快速搭建持續集成環境  回復  更多評論   

          2011-04-11 17:27 by asdasd
          很好,剛好現在做個項目要用到Hudson+Maven+SVN 快速搭建持續集成環境

          # re: Hudson+Maven+SVN 快速搭建持續集成環境[未登錄]  回復  更多評論   

          2014-04-04 16:53 by robert
          學習了,謝謝

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 辽宁省| 财经| 孝感市| 航空| 禹城市| 青河县| 阜宁县| 兴业县| 德江县| 炉霍县| 资溪县| 浑源县| 嘉黎县| 乌恰县| 滨州市| 石景山区| 乐业县| 蒙城县| 喀喇沁旗| 六枝特区| 青岛市| 察雅县| 富阳市| 潼关县| 安徽省| 宁乡县| 哈密市| 华安县| 水富县| 密云县| 馆陶县| 高碑店市| 九龙县| 龙州县| 修文县| 谢通门县| 千阳县| 博白县| 胶南市| 临西县| 昭苏县|