自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Hudson+Ant+SVN+Tomcat配置詳解

開發(fā) 后端
要想介紹Hudson,就要從持續(xù)集成開始介紹。所謂持續(xù)集成(Continuous integration)就是:持續(xù)集成是一種軟件開發(fā)實(shí)踐,即團(tuán)隊(duì)開發(fā)成員經(jīng)常集成它們的工作,通常每個(gè)成員每天至少集成一次,也就意味著每天可能會(huì)發(fā)生多次集成。

一、配置背景:

要想介紹Hudson,就要從持續(xù)集成開始介紹。持續(xù)集成,最開始知道有這個(gè)概念的時(shí)候是從一本叫做《.NET中的持續(xù)集成》,但是本人熟悉的是Java,而不是.Net平臺(tái),所以這本書就放下了,沒有仔細(xì)的看。如今,我們需要用SSH架構(gòu)開發(fā)一個(gè)知識(shí)管理平臺(tái),項(xiàng)目組長給我的任務(wù)恰好就是配置持續(xù)集成的開發(fā)環(huán)境。

說了這么半天看來是有點(diǎn)跑題了,還是沒有說持續(xù)集成是個(gè)什么概念。所謂持續(xù)集成(Continuous integration)就是:持續(xù)集成是一種軟件開發(fā)實(shí)踐,即團(tuán)隊(duì)開發(fā)成員經(jīng)常集成它們的工作,通常每個(gè)成員每天至少集成一次,也就意味著每天可能會(huì)發(fā)生多次集成。每次集成都通過自動(dòng)化的構(gòu)建(包括編譯,發(fā)布,自動(dòng)化測(cè)試)來驗(yàn)證,從而盡快地發(fā)現(xiàn)集成錯(cuò)誤。許多團(tuán)隊(duì)發(fā)現(xiàn)這個(gè)過程可以大大減少集成的問題,讓團(tuán)隊(duì)能夠更快的開發(fā)內(nèi)聚的軟件。

上述定義是來源于軟件大師:馬丁福勒(Martin Fowler),大師就是大師,反正我沒看懂。我來說說我的理解,在這里,我用舉一個(gè)例子來說吧……

現(xiàn)在我們已經(jīng)進(jìn)行完了前期的工作(包括:需求的確定,原型的設(shè)計(jì)等等),到了開始編程的階段了,我們現(xiàn)在很少有孤軍奮戰(zhàn)的了吧?大多是小組內(nèi)各個(gè)成員進(jìn)行配合,編寫系統(tǒng),這樣就有個(gè)問題,大家的編程環(huán)境可能出現(xiàn)差距,大家的代碼集中后進(jìn)行編譯運(yùn)行可能會(huì)遇到因?yàn)樗妙悗彀姹静煌虼蠹姨峤淮a時(shí)間不同而導(dǎo)致前面提交的人員要等著別的同志完成代碼的編寫后才能一起集成編譯測(cè)試,如果能夠計(jì)算機(jī)能夠自動(dòng)的持續(xù)循環(huán)如果有新的代碼庫的更新,就自動(dòng)進(jìn)行集成,然后測(cè)試,這樣將為我們省下大把的時(shí)間。持續(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)建工具,往往對(duì)基于 Maven 的項(xiàng)目提供***的支持和體驗(yàn)。其管理和配置通過一個(gè)基于 Web 的界面進(jìn)行。

JetBrains Team City — 一種常用的商業(yè) CI 服務(wù)器。Team City 的一個(gè)獨(dú)有的特性是,它具有針對(duì)幾種 IDE 的相應(yīng)插件,這些插件使開發(fā)人員可以在將其更改提交版本控制系統(tǒng)時(shí)進(jìn)行“預(yù)測(cè)試”提交 — 使用此功能意味著開發(fā)人員不可能“中斷程序的構(gòu)建”。其管理和配置通過一個(gè)基于 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)行測(cè)試需要使用svn服務(wù)器,這里選用VisualSVN作為SVN的服務(wù)器端,也可以采用SVN 1.4.5作為服務(wù)器,不過需要在控制臺(tái)中利用命令行進(jìn)行控制,TortoiseSVN作為SVN客戶端工具,小烏龜?shù)膱D像已經(jīng)深入人心。

到上面,我們的工具已經(jīng)備齊,開始配置。

三、配置步驟:

首先是Java的jdk安裝,如果我沒記錯(cuò)的話,java的jdk安裝后環(huán)境變量就應(yīng)該已經(jīng)配置好了。

Ant的配置:

ant下載后應(yīng)該是一個(gè)壓縮包,解壓后,解壓后所在路徑這里用 ${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文件,就直接安裝,否則,將壓縮包解壓到一個(gè)路徑,我這里用 ${tomcat_path} 代替。同上打開系統(tǒng)環(huán)境變量,新建CATALINA_HOME變量,值為${tomcat_path}。

path變量中加入如下代碼:

;% CATALINA_HOME%\bin;

classpath變量中加入如下代碼:

; % CATALINA_HOME%\lib;

然后,轉(zhuǎn)到${tomcat_path}下的bin文件夾下,有個(gè)startup.bat(for windows系列系統(tǒng))或startup.sh(for unix系列系統(tǒng))。如果是利用exe安裝的啟動(dòng)tomcat服務(wù)器是在系統(tǒng)的管理下的服務(wù)中進(jìn)行啟動(dòng)。至此,tomcat已配置完成并已經(jīng)啟動(dòng)。

我們使用的Hudson.war,原來做過java web開發(fā)的一眼就能夠看出來,這玩意扔到tomcat的webapps下就能夠運(yùn)行了,我們就這么干。

打開瀏覽器,輸入如下地址:

http://localhost:8080/

這就是傳說中那只小貓,看到它說明我們的tomcat已經(jīng)安裝成功,并且已經(jīng)啟動(dòng)。現(xiàn)在我們將Hudson.war復(fù)制到${tomcat_path}/webapps文件夾下。在瀏覽器中輸入如下地址:

http://localhost:8080/hudson

如果成功得到如下頁面:

其中可以看到我部署了兩個(gè)項(xiàng)目。

配置Hudson的***步:

選擇系統(tǒng)設(shè)置。

出現(xiàn)如下頁面:

選擇系統(tǒng)設(shè)置。出現(xiàn)如下頁面:

圖中路徑描述了Hudson生成項(xiàng)目輸出的目錄,這個(gè)可以改到一個(gè)我們自己熟悉的目錄,這里我就不改了。

下面是jdk配置:

因?yàn)閔udson中可以配置多個(gè)jdk,這里要先給這個(gè)jdk起一個(gè)別名以識(shí)別不同的jdk,我選擇使用java_jdk。在下面的JAVA_HOME中輸入環(huán)境變量中的JAVA_HOME變量的值就可以了。我們可以通過點(diǎn)擊新增jdk按鈕增加不同的jdk。

下面是Ant的配置:

與jdk配置過程差不多,給出ant的路徑,為ant起別名。

下面是maven的配置:

因?yàn)楸疚臎]有涉及maven配置的過程。

#p#

下面是版本控制工具配置:

由于我們使用的是svn,所以cvs那欄可以空著,在下面的subversion中配置使用的svn版本。我使用的是svn 1.6。所以選擇如上圖選項(xiàng)。

再有比較有用的就是這個(gè)郵件提醒功能如下圖所示,這個(gè)功能為有郵件服務(wù)器的開發(fā)團(tuán)隊(duì)準(zhǔn)備,當(dāng)共同維護(hù)的程序代碼有變動(dòng)時(shí)會(huì)自動(dòng)發(fā)送通知郵件。這么看起來Hudson還是比較厲害的。

下面是配置本機(jī)上的svn服務(wù)器,我們這里使用VisualSVN,由于VisualSVN采用界面化的配置,所以相對(duì)SVN 1.4.5要容易的多。安裝后運(yùn)行看到如下界面:

證明你的VisualSVN已經(jīng)啟動(dòng)了,首先要有個(gè)身份,首先在User下建立一個(gè)用戶,然后在左邊的Repositories下建立一個(gè)自己的倉庫,比如我們這里命名為Demo。

下面就是安裝SVN客戶端——TortoiseSVN。

然后我們構(gòu)造一個(gè)java web的工程,工具可以任意,Eclipse,MyEclipse都可以。

我使用MyEclipse 構(gòu)建一個(gè)工程名為test。其結(jié)構(gòu)如下圖:

最簡(jiǎn)單的web工程。建好就可以了。到test工程所在目錄下,新建build.xml文件,如下圖。

build.xml文件是為了使用ant進(jìn)行構(gòu)建的配置文件,寫法參見我馬上要寫的一篇博文《ant中build.xml文件的簡(jiǎn)單配置》。

這里將我的build.xml文件內(nèi)容附上:

  1. <?xml version="1.0" encoding="UTF-8" ?> 
  2. <project name ="test" default ="war" basedir ="."> 
  3.     <property  name ="classes" value ="${basedir}/build/classes"/> 
  4.     <property  name ="build" value ="${basedir}/build"/> 
  5.     <property  name ="lib" value ="${basedir}/WebRoot/WEB-INF/lib"/> 
  6.     <target name ="clean"> 
  7.         <delete dir ="${build}"/> 
  8.     </target> 
  9.      <target name ="compile"  depends ="clean"> 
  10.         <mkdir dir ="${classes}"/> 
  11.         <javac srcdir ="${basedir}/src"  destdir ="${classes}"/> 
  12.      </target> 
  13.      <target name ="war" depends ="compile"> 
  14.         <war destfile ="${build}/WebTest.war"  webxml ="${basedir}/WebRoot/WEB-INF/web.xml"> 
  15.                  <fileset dir ="${basedir}/WebRoot"  includes ="**/*.jsp"/> 
  16.                  <lib dir ="${lib}"/> 
  17.                  <classes dir ="${classes}"/> 
  18.         </war> 
  19.      </target> 
  20. </project> 

現(xiàn)在我們將我們的這個(gè)test工程上傳到svn服務(wù)器上面去。

選擇我們剛剛在svn服務(wù)器上建立的倉庫。

點(diǎn)擊ok按鈕,等待上傳成功后關(guān)閉上傳窗口。現(xiàn)在我們就能夠在Hudson中新建一個(gè)構(gòu)建項(xiàng)目了。打開瀏覽器,輸入http://localhost:8080/hudson打開Hudson的主頁,選擇構(gòu)建一個(gè)自由風(fēng)格的軟件項(xiàng)目,并給項(xiàng)目命名,這里使用testDemo。

點(diǎn)擊OK后,進(jìn)入項(xiàng)目的配置界面,其中最重要的是Source Code Management,在其中選擇Subversion后會(huì)有如下圖的展開。

在其中的Repository URL中填入我們剛才項(xiàng)目上傳得地址,我這里是下面這個(gè):

https://arkiarx/svn/demo

在下面我們還要指定我們要使用ant。

點(diǎn)擊add build step按鈕選擇Invoke Ant得到如下展開:

在其中選擇我們hudson中配置的ant。

至此簡(jiǎn)單的項(xiàng)目的配置過程已經(jīng)配置完成。

四、測(cè)試配置:

配置完成后,下面的步驟就很簡(jiǎn)單了,就是測(cè)試我們剛才這一套配置的過程是否正確。

選擇我們剛剛新建的項(xiàng)目進(jìn)行立即構(gòu)建。如果我們構(gòu)建成功的話可以得到如下的頁面:

說明集成成功。在左側(cè)的命令行輸出中我們可以得到本次構(gòu)建中ant得到的產(chǎn)物的清單,并進(jìn)行下載。也可以到hudson的配置輸出目錄中查找。

原文鏈接:http://www.cnblogs.com/fromweibo/archive/2011/11/18/2254705.html

【編輯推薦】

  1. Java常見的四種引用
  2. Eclipse Xtend對(duì)Java說:我?guī)湍闶萆?/a>
  3. Java程序員慣性思維的一個(gè)錯(cuò)誤
  4. 去故就新 Java線程新同步機(jī)制
  5. 精解Java中代理模式的實(shí)現(xiàn)
責(zé)任編輯:林師授 來源: Geeeeeeek的博客
相關(guān)推薦

2010-05-27 10:32:19

SVN配置文檔

2009-07-15 14:08:06

MyEclipse T

2011-09-16 10:09:32

SVN

2010-05-31 16:29:22

SVN權(quán)限配置

2018-10-08 09:05:52

TomcatServer配置

2010-09-17 15:57:23

TomcatJVM

2011-03-07 10:02:51

awstatstomcat

2023-09-01 08:18:53

Tomcat配置參數(shù)

2018-12-25 10:36:41

TomcatServer文件

2011-02-25 11:16:38

ApacheTomcat

2010-05-28 19:35:33

Myeclipse下S

2010-05-21 12:58:01

Subversion使

2010-05-24 19:42:54

SVN權(quán)限配置

2014-10-13 09:50:11

TomcatMaven

2009-07-09 14:02:58

Tomcat JDK

2010-05-31 13:11:45

MyEclipse下S

2010-05-31 15:55:42

2010-05-20 12:43:37

SVN Update命

2009-07-02 13:07:12

JSP+Tomcat配

2018-09-13 08:47:09

Tomcat負(fù)載均衡服務(wù)器
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)