Hudson+Maven+SVN 快速搭建持續(xù)集成環(huán)境
Posted on 2009-10-22 16:19 BearRui(AK-47) 閱讀(20024) 評(píng)論(8) 編輯 收藏 所屬分類: 集成、部署hudson 是一個(gè)可擴(kuò)展的持續(xù)集成引擎,Hudson非常易于安裝和配置,簡(jiǎn)單易用,下面看看我們是如何幾分鐘就快速搭建一個(gè)持續(xù)集成環(huán)境吧。
假設(shè)我們目前已經(jīng)有2個(gè)maven項(xiàng)目:entities(JAVA類庫(kù)),web(web應(yīng)用,依賴entities)。
?
一、安裝hudson:
? ?? 下載http://hudson-ci.org/latest/hudson.war ,把下載的war包直接扔到tomcat下,啟動(dòng)tomcat。
? ? hudson就安裝完畢,是不是很簡(jiǎn)單啊。
?
二、 配置hudson:
??? 1、打開(kāi) http://localhost:8080/hudson/ ,第一次進(jìn)入里面沒(méi)有數(shù)據(jù),我們需要?jiǎng)?chuàng)建job,我們這有2個(gè)項(xiàng)目,需要?jiǎng)?chuàng)建2個(gè)job.
?
??? 2、點(diǎn)擊左上角的new job,在new job頁(yè)面需要選擇job的類型,hudson支持幾種類型,我們選擇maven2 project:見(jiàn)下圖:
?
???? 3、選擇完job類型后,進(jìn)會(huì)進(jìn)入詳細(xì)配置界面,詳細(xì)配置界面的配置項(xiàng)很多,不過(guò)不用怕,大部分使用默認(rèn)配置就可以了,下面就說(shuō)說(shuō)我們需要修改的幾個(gè)地方:
??????? 1): Source Code Management
???????????? 因?yàn)槲覀兪褂玫腟VN,所以這里選擇subversion,并在Repository URL中輸入我們的SVN地址:
??????????? http://localhost/svn/Entites
??
?????????? 注:在輸入U(xiǎn)RL后,如果SVN需要驗(yàn)證(hudson會(huì)自動(dòng)檢測(cè)是否需要驗(yàn)證),會(huì)展URL輸入框下方顯示需要驗(yàn)證,點(diǎn)擊輸入驗(yàn)證信息的鏈接,輸入SVN的用戶名和密碼就可以。在試用的過(guò)程中發(fā)現(xiàn)如果使用svn自帶的服務(wù)器,使用svn://方式訪問(wèn),如果svn需要驗(yàn)證,hudson支持不論,如果不需要驗(yàn)證就可以,建議還是通過(guò)apache http方式來(lái)訪問(wèn)svn,這樣hudson支持比較好。
?
???????? 2) : 配置自動(dòng)構(gòu)建的計(jì)劃,假設(shè)我們想讓項(xiàng)目中每天12點(diǎn)和晚上8點(diǎn)自動(dòng)構(gòu)建一次,只需要在Build Triggers中選擇 ? ?
?
???????????? 這是因?yàn)閔udson找不到maven的原因,點(diǎn)擊"system configuration",是system configuration的maven配置中添加
??????????? maven目錄就OK,如下圖:
??
?
????????? 4) 保存好所有配置后,我們第1個(gè)job就算是完成了。
?
??????????5) 創(chuàng)建web的job,?這里的配置和上面的配置一樣,只需要把svn地址改成:http://localhost/svn/Web
?
三、手動(dòng)構(gòu)建試試
????? 在經(jīng)過(guò)上面的配置后,回到hudson首頁(yè),在首頁(yè)可以看到剛才添加的2個(gè)job,如下圖:
???? 點(diǎn)擊某1個(gè)job后后面的"Schedule a build"圖片手動(dòng)構(gòu)建,點(diǎn)擊完后,會(huì)在左邊的Build Queue或者Build Executor Status ?顯示正在構(gòu)建的任務(wù),在自動(dòng)構(gòu)建完后,刷新頁(yè)面,就可以看到構(gòu)建結(jié)果了,如何某個(gè)項(xiàng)目構(gòu)建失敗,點(diǎn)擊項(xiàng)目后面的構(gòu)建數(shù)字(從1開(kāi)始遞增)進(jìn)入項(xiàng)目的"Console Output "可以查看項(xiàng)目構(gòu)建失敗的原因。當(dāng)然我們也可以配置把構(gòu)建失敗的結(jié)果發(fā)到我們郵箱。
?
到目前為止,1個(gè)簡(jiǎn)單的自動(dòng)構(gòu)建環(huán)境就搭建好了,很簡(jiǎn)單吧。
?
四、自動(dòng)部署
????
????? 看完上面發(fā)現(xiàn)hudson配置真的很簡(jiǎn)單,幾分鐘自動(dòng)構(gòu)建環(huán)境就出來(lái)了,但環(huán)境搭建好后發(fā)現(xiàn)1個(gè)問(wèn)題,現(xiàn)在是能自動(dòng)構(gòu)建了,但是構(gòu)建好的web.war都還是在hudson目錄下,并沒(méi)有發(fā)布到tomcat中,還需要手動(dòng)copy過(guò)去?
?
???? 是個(gè)問(wèn)題,不過(guò)別急,要達(dá)到自動(dòng)部署的目的,需要安裝1個(gè)hudson的部署插件,下載地址:
???? https://hudson.dev.java.net/files/documents/2402/106347/deploy.hpi
?
??? 下載完后,進(jìn)入hudson的插件管理中心:http://localhost:8080/hudson/pluginManager/ ?(可以點(diǎn)擊首頁(yè)的"Manage Hudson")找到這個(gè)鏈接,在插件管理中心點(diǎn)擊Advanced,在upload plugin 中上傳剛才下載的插件,上傳完畢后需要重啟hudson才能完成安裝(即重啟tomcat),重啟后重新進(jìn)入web的configure 配置界面,在最下面會(huì)發(fā)現(xiàn)多處1個(gè)配置項(xiàng),我們配置如下:
?
?
???? 注:war file使用的是hudson workspace的相對(duì)目錄,hudon默認(rèn)的目錄在:
?????????? 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)建一次,打開(kāi)tomcat的webapps目錄,發(fā)現(xiàn)web.war終于過(guò)來(lái)了,大功告成。
[博客]: http://www.aygfsteel.com/bearrui/
[聲明]:本博所有文章版權(quán)歸作者所有(除特殊說(shuō)明以外),轉(zhuǎn)載請(qǐng)注明出處.