hudson 是一個可擴展的持續(xù)集成引擎,Hudson非常易于安裝和配置,簡單易用,下面看看我們是如何幾分鐘就快速搭建一個持續(xù)集成環(huán)境吧。
假設我們目前已經(jīng)有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/
,第一次進入里面沒有數(shù)據(jù),我們需要創(chuàng)建job,我們這有2個項目,需要創(chuàng)建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的用戶名和密碼就可以。在試用的過程中發(fā)現(xiàn)如果使用svn自帶的服務器,使用svn://方式訪問,如果svn需要驗證,hudson支持不論,如果不需要驗證就可以,建議還是通過apache http方式來訪問svn,這樣hudson支持比較好。
?
???????? 2) : 配置自動構(gòu)建的計劃,假設我們想讓項目中每天12點和晚上8點自動構(gòu)建一次,只需要在Build Triggers中選擇 ? ?
?
???????????? 這是因為hudson找不到maven的原因,點擊"system configuration",是system configuration的maven配置中添加
??????????? maven目錄就OK,如下圖:
??
?
????????? 4) 保存好所有配置后,我們第1個job就算是完成了。
?
??????????5) 創(chuàng)建web的job,?這里的配置和上面的配置一樣,只需要把svn地址改成:http://localhost/svn/Web
?
三、手動構(gòu)建試試
????? 在經(jīng)過上面的配置后,回到hudson首頁,在首頁可以看到剛才添加的2個job,如下圖:
???? 點擊某1個job后后面的"Schedule a build"圖片手動構(gòu)建,點擊完后,會在左邊的Build Queue或者Build Executor Status
?顯示正在構(gòu)建的任務,在自動構(gòu)建完后,刷新頁面,就可以看到構(gòu)建結(jié)果了,如何某個項目構(gòu)建失敗,點擊項目后面的構(gòu)建數(shù)字(從1開始遞增)進入項目的"Console Output
"可以查看項目構(gòu)建失敗的原因。當然我們也可以配置把構(gòu)建失敗的結(jié)果發(fā)到我們郵箱。
?
到目前為止,1個簡單的自動構(gòu)建環(huán)境就搭建好了,很簡單吧。
?
四、自動部署
????
????? 看完上面發(fā)現(xiàn)hudson配置真的很簡單,幾分鐘自動構(gòu)建環(huán)境就出來了,但環(huán)境搭建好后發(fā)現(xiàn)1個問題,現(xiàn)在是能自動構(gòu)建了,但是構(gòu)建好的web.war都還是在hudson目錄下,并沒有發(fā)布到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 配置界面,在最下面會發(fā)現(xiàn)多處1個配置項,我們配置如下:
?
?
???? 注:war file使用的是hudson workspace的相對目錄,hudon默認的目錄在:
?????????? C:\Documents and Settings\用戶名\.hudson\??
?????????? workspace目錄:C:\Documents and Settings\用戶名\.hudson\?jobs\web\workspace\
????????? 最終產(chǎn)生的war在:C:\Documents and Settings\用戶名\.hudson\?jobs\web\workspace\Web\target\web.war
?
??? 保存配置再重新構(gòu)建一次,打開tomcat的webapps目錄,發(fā)現(xiàn)web.war終于過來了,大功告成。