您好,登錄后才能下訂單哦!
小編給大家分享一下Hudson+Ant+SVN+Tomcat如何配置,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
一、配置背景:
要想介紹Hudson,就要從持續(xù)集成開始介紹。持續(xù)集成,最開始知道有這個概念的時候是從一本叫做《.NET中的持續(xù)集成》,但是本人熟悉的是Java,而不是.Net平臺,所以這本書就放下了,沒有仔細(xì)的看。如今,我們需要用SSH架構(gòu)開發(fā)一個知識管理平臺,項(xiàng)目組長給我的任務(wù)恰好就是配置持續(xù)集成的開發(fā)環(huán)境。
說了這么半天看來是有點(diǎn)跑題了,還是沒有說持續(xù)集成是個什么概念。所謂持續(xù)集成(Continuous integration)就是:持續(xù)集成是一種軟件開發(fā)實(shí)踐,即團(tuán)隊(duì)開發(fā)成員經(jīng)常集成它們的工作,通常每個成員每天至少集成一次,也就意味著每天可能會發(fā)生多次集成。每次集成都通過自動化的構(gòu)建(包括編譯,發(fā)布,自動化測試)來驗(yàn)證,從而盡快地發(fā)現(xiàn)集成錯誤。許多團(tuán)隊(duì)發(fā)現(xiàn)這個過程可以大大減少集成的問題,讓團(tuán)隊(duì)能夠更快的開發(fā)內(nèi)聚的軟件。
上述定義是來源于軟件大師:馬丁福勒(Martin Fowler),大師就是大師,反正我沒看懂。我來說說我的理解,在這里,我用舉一個例子來說吧……
現(xiàn)在我們已經(jīng)進(jìn)行完了前期的工作(包括:需求的確定,原型的設(shè)計(jì)等等),到了開始編程的階段了,我們現(xiàn)在很少有孤軍奮戰(zhàn)的了吧?大多是小組內(nèi)各個成員進(jìn)行配合,編寫系統(tǒng),這樣就有個問題,大家的編程環(huán)境可能出現(xiàn)差距,大家的代碼集中后進(jìn)行編譯運(yùn)行可能會遇到因?yàn)樗妙悗彀姹静煌虼蠹姨峤淮a時間不同而導(dǎo)致前面提交的人員要等著別的同志完成代碼的編寫后才能一起集成編譯測試,如果能夠計(jì)算機(jī)能夠自動的持續(xù)循環(huán)如果有新的代碼庫的更新,就自動進(jìn)行集成,然后測試,這樣將為我們省下大把的時間。持續(xù)集成在我的眼中就是這么一回事。不知道講明白沒有?!
二、配置工具:
俗話說得好,要想善其事,先要利其器。我們先來看看我們所要用到的工具:
Hudson: Hudson.war
Java: jdk1.6.0_07
Ant : apache-ant-1.8.1
Tomcat: apache-tomcat-6.0.29.txt.exe
SVN: VisualSVN-Server-2.1.5(SVN服務(wù)器).msi
TortoiseSVN-1.6.10.19898-win32-svn-1.6.12.msi (SVN 客戶端)
首先是持續(xù)集成工具,現(xiàn)在比較常用的持續(xù)集成工具:
Cruise Control:開源、圍繞 Ant 構(gòu)建。常用,但用戶常反映其難以配置、需要編寫配置文件。Cruise Control 又稱為用于 Java 的“原始”CI 工具。
Apache Continuum:開源、用于構(gòu)建 Java 項(xiàng)目。由于它是 Maven 的官方構(gòu)建工具,往往對基于 Maven 的項(xiàng)目提供***的支持和體驗(yàn)。其管理和配置通過一個基于 Web 的界面進(jìn)行。
JetBrains Team City — 一種常用的商業(yè) CI 服務(wù)器。Team City 的一個獨(dú)有的特性是,它具有針對幾種 IDE 的相應(yīng)插件,這些插件使開發(fā)人員可以在將其更改提交版本控制系統(tǒng)時進(jìn)行“預(yù)測試”提交 — 使用此功能意味著開發(fā)人員不可能“中斷程序的構(gòu)建”。其管理和配置通過一個基于 Web 的界面進(jìn)行。
這里就用我折騰了兩天的Hudson作為例子,當(dāng)然如果使用別的持續(xù)集成工具也可以。配置使用過程不在本文討論范圍之內(nèi)。
Java 的jdk不多說了。
Ant大名鼎鼎的java構(gòu)建工具。
Tomcat為Apache旗下使用最多的服務(wù)器。
SVN取代CVS作為現(xiàn)在比較流行的版本控制工具。
由于在本機(jī)上進(jìn)行測試需要使用svn服務(wù)器,這里選用VisualSVN作為SVN的服務(wù)器端,也可以采用SVN 1.4.5作為服務(wù)器,不過需要在控制臺中利用命令行進(jìn)行控制,TortoiseSVN作為SVN客戶端工具,小烏龜?shù)膱D像已經(jīng)深入人心。
到上面,我們的工具已經(jīng)備齊,開始配置。
三、配置步驟:
首先是Java的jdk安裝,如果我沒記錯的話,java的jdk安裝后環(huán)境變量就應(yīng)該已經(jīng)配置好了。
Ant的配置:
ant下載后應(yīng)該是一個壓縮包,解壓后,解壓后所在路徑這里用 ${ant_path} 代替。打開系統(tǒng)環(huán)境變量,新建ANT_HOME變量,值為 ${ant_path} 。然后再在系統(tǒng)變量path中加入如下內(nèi)容:
;%ANT_HOME%\bin;%ANT_HOME%\lib;
至此,Ant配置完畢。
安裝Tomcat,如果你的tomcat是exe文件,就直接安裝,否則,將壓縮包解壓到一個路徑,我這里用 ${tomcat_path} 代替。同上打開系統(tǒng)環(huán)境變量,新建CATALINA_HOME變量,值為${tomcat_path}。
path變量中加入如下代碼:
;% CATALINA_HOME%\bin;
classpath變量中加入如下代碼:
; % CATALINA_HOME%\lib;
然后,轉(zhuǎn)到${tomcat_path}下的bin文件夾下,有個startup.bat(for windows系列系統(tǒng))或startup.sh(for unix系列系統(tǒng))。如果是利用exe安裝的啟動tomcat服務(wù)器是在系統(tǒng)的管理下的服務(wù)中進(jìn)行啟動。至此,tomcat已配置完成并已經(jīng)啟動。
我們使用的Hudson.war,原來做過java web開發(fā)的一眼就能夠看出來,這玩意扔到tomcat的webapps下就能夠運(yùn)行了,我們就這么干。
打開瀏覽器,輸入如下地址:
http://localhost:8080/
這就是傳說中那只小貓,看到它說明我們的tomcat已經(jīng)安裝成功,并且已經(jīng)啟動。現(xiàn)在我們將Hudson.war復(fù)制到${tomcat_path}/webapps文件夾下。在瀏覽器中輸入如下地址:
http://localhost:8080/hudson
如果成功得到如下頁面:
其中可以看到我部署了兩個項(xiàng)目。
配置Hudson的***步:
選擇系統(tǒng)設(shè)置。
出現(xiàn)如下頁面:
選擇系統(tǒng)設(shè)置。出現(xiàn)如下頁面:
圖中路徑描述了Hudson生成項(xiàng)目輸出的目錄,這個可以改到一個我們自己熟悉的目錄,這里我就不改了。
下面是jdk配置:
因?yàn)閔udson中可以配置多個jdk,這里要先給這個jdk起一個別名以識別不同的jdk,我選擇使用java_jdk。在下面的JAVA_HOME中輸入環(huán)境變量中的JAVA_HOME變量的值就可以了。我們可以通過點(diǎn)擊新增jdk按鈕增加不同的jdk。
下面是Ant的配置:
與jdk配置過程差不多,給出ant的路徑,為ant起別名。
下面是maven的配置:
因?yàn)楸疚臎]有涉及maven配置的過程。
下面是版本控制工具配置:
由于我們使用的是svn,所以cvs那欄可以空著,在下面的subversion中配置使用的svn版本。我使用的是svn 1.6。所以選擇如上圖選項(xiàng)。
再有比較有用的就是這個郵件提醒功能如下圖所示,這個功能為有郵件服務(wù)器的開發(fā)團(tuán)隊(duì)準(zhǔn)備,當(dāng)共同維護(hù)的程序代碼有變動時會自動發(fā)送通知郵件。這么看起來Hudson還是比較厲害的。
下面是配置本機(jī)上的svn服務(wù)器,我們這里使用VisualSVN,由于VisualSVN采用界面化的配置,所以相對SVN 1.4.5要容易的多。安裝后運(yùn)行看到如下界面:
證明你的VisualSVN已經(jīng)啟動了,首先要有個身份,首先在User下建立一個用戶,然后在左邊的Repositories下建立一個自己的倉庫,比如我們這里命名為Demo。
下面就是安裝SVN客戶端——TortoiseSVN。
然后我們構(gòu)造一個java web的工程,工具可以任意,Eclipse,MyEclipse都可以。
我使用MyEclipse 構(gòu)建一個工程名為test。其結(jié)構(gòu)如下圖:
最簡單的web工程。建好就可以了。到test工程所在目錄下,新建build.xml文件,如下圖。
build.xml文件是為了使用ant進(jìn)行構(gòu)建的配置文件,寫法參見我馬上要寫的一篇博文《ant中build.xml文件的簡單配置》。
這里將我的build.xml文件內(nèi)容附上:
<?xml version="1.0" encoding="UTF-8" ?> <project name ="test" default ="war" basedir ="."> <property name ="classes" value ="${basedir}/build/classes"/> <property name ="build" value ="${basedir}/build"/> <property name ="lib" value ="${basedir}/WebRoot/WEB-INF/lib"/> <target name ="clean"> <delete dir ="${build}"/> </target> <target name ="compile" depends ="clean"> <mkdir dir ="${classes}"/> <javac srcdir ="${basedir}/src" destdir ="${classes}"/> </target> <target name ="war" depends ="compile"> <war destfile ="${build}/WebTest.war" webxml ="${basedir}/WebRoot/WEB-INF/web.xml"> <fileset dir ="${basedir}/WebRoot" includes ="**/*.jsp"/> <lib dir ="${lib}"/> <classes dir ="${classes}"/> </war> </target> </project>
現(xiàn)在我們將我們的這個test工程上傳到svn服務(wù)器上面去。
選擇我們剛剛在svn服務(wù)器上建立的倉庫。
點(diǎn)擊ok按鈕,等待上傳成功后關(guān)閉上傳窗口。現(xiàn)在我們就能夠在Hudson中新建一個構(gòu)建項(xiàng)目了。打開瀏覽器,輸入http://localhost:8080/hudson打開Hudson的主頁,選擇構(gòu)建一個自由風(fēng)格的軟件項(xiàng)目,并給項(xiàng)目命名,這里使用testDemo。
點(diǎn)擊OK后,進(jìn)入項(xiàng)目的配置界面,其中最重要的是Source Code Management,在其中選擇Subversion后會有如下圖的展開。
在其中的Repository URL中填入我們剛才項(xiàng)目上傳得地址,我這里是下面這個:
https://arkiarx/svn/demo
在下面我們還要指定我們要使用ant。
點(diǎn)擊add build step按鈕選擇Invoke Ant得到如下展開:
在其中選擇我們hudson中配置的ant。
至此簡單的項(xiàng)目的配置過程已經(jīng)配置完成。
四、測試配置:
配置完成后,下面的步驟就很簡單了,就是測試我們剛才這一套配置的過程是否正確。
選擇我們剛剛新建的項(xiàng)目進(jìn)行立即構(gòu)建。如果我們構(gòu)建成功的話可以得到如下的頁面:
說明集成成功。在左側(cè)的命令行輸出中我們可以得到本次構(gòu)建中ant得到的產(chǎn)物的清單,并進(jìn)行下載。也可以到hudson的配置輸出目錄中查找。
以上是“Hudson+Ant+SVN+Tomcat如何配置”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。