詳解使用SVN配置自動(dòng)更新WEB服務(wù)器
本節(jié)和大家討論一下SVN配置自動(dòng)更新WEB服務(wù)器問題,通過一個(gè)簡(jiǎn)單的實(shí)例向大家介紹一下,通過本文的學(xué)習(xí)希望你能學(xué)到更多的知識(shí)。
SVN配置自動(dòng)更新WEB服務(wù)器最近有個(gè)小項(xiàng)目,需要用SVN來進(jìn)行版本控制。項(xiàng)目組的同僚有8個(gè)人,大家都在本地開發(fā),然后提交到服務(wù)器服務(wù)器就是其中一臺(tái)機(jī)器。專門安排一個(gè)測(cè)試員來進(jìn)行項(xiàng)目測(cè)試,但測(cè)試人員每次測(cè)試之前都需要去更新SVN,再拷貝到web服務(wù)器上,然后才能測(cè)試,這樣很不方便。所以希望當(dāng)開發(fā)人員有更新時(shí),代svnmkdirsvn://localhost/myproject隨即關(guān)閉記事本打開的log文件窗口后按"c"鍵繼續(xù)后生成項(xiàng)目樹。一般情況,我們?cè)趧?chuàng)建文件根路徑后應(yīng)該在創(chuàng)建三個(gè)目錄:branches、tags、trunk,這三個(gè)目錄是Subversion需要的三個(gè)目錄。對(duì)于checkout、commit、update等操作可以通過svn命令行方式執(zhí)行,也可以用TortoiseSVN的windows菜單完成,非常簡(jiǎn)單咯。
在這以上,基本按照它的說明,就能讓svn正常運(yùn)作,但branches、tags、trunk三個(gè)目錄的使用我還沒有學(xué)習(xí)。
SVN配置自動(dòng)更新WEB服務(wù)器的自動(dòng)更新的配置:
開發(fā)中經(jīng)常要在更新SVN的同時(shí)要更新WEB服務(wù)器??梢杂眠^Subversion的鉤子(Hook)來實(shí)現(xiàn)。
以下是Windows操作系統(tǒng)下的配置:
在SVN庫的hooks目錄下面新建post-commit.bat文件,用記事本打開,然后寫入如下的代碼:@echooff
SETREPOS=%1
SETREV=%2
SETDIR=%REPOS%/hooks
SETPATH=%PATH%;
SETWORKING_COPY=D:\Websites\Latisse
svnupdate%WORKING_COPY%–usernameuser–passwordpwd
此處的D:\Websites\Latisse即是WEB網(wǎng)站的目錄(當(dāng)然得先建好這個(gè)目錄,并且從svn服務(wù)器上簽出相應(yīng)的項(xiàng)目)。這樣在用戶提交完后,便會(huì)自動(dòng)更新到WEB服務(wù)器上。
需要注意到問題是:
1.不要在WEB網(wǎng)站文件夾下作修改或其它操作,防止出現(xiàn)文件夾被鎖。無法更新。
2.在這里我明確寫明了用戶名(user),密碼(pwd)。在我設(shè)置時(shí)發(fā)現(xiàn),如果沒有設(shè)置的話會(huì)出現(xiàn)錯(cuò)誤,在直接運(yùn)行這個(gè)bat文件時(shí)是能正常執(zhí)行的,但是,在Subversion提交后卻不能正常運(yùn)行。并且可以看到服務(wù)器進(jìn)程中會(huì)出現(xiàn)cmd,svn兩個(gè)進(jìn)程,并且不會(huì)自己結(jié)束,而用戶在提交內(nèi)容到服務(wù)器后,會(huì)出現(xiàn)客戶端無法正常返回的問題。
3.如果運(yùn)行不能正常,可以通過下面的方法看到出錯(cuò)信息:
將剛才的post-commit.bat改名為post-commit-run.bat,然后再建一個(gè)post-commit.bat的文件,里面寫入如下的代碼:call%~dp0post-commit-run.bat%*>%1/hooks/post-commit.log2>&1
這樣運(yùn)行結(jié)果就會(huì)被寫入到post-commit.log文件中,如果出錯(cuò),也可以找到出錯(cuò)的原因。
總結(jié)一下:
SVN配置自動(dòng)更新WEB服務(wù)器時(shí),svn的使用要點(diǎn):
安裝subversion
安裝tortoiseSVN
創(chuàng)建儲(chǔ)存庫
導(dǎo)入(將需要版本控制的代碼導(dǎo)入到儲(chǔ)存庫中)
檢出(使用者將已經(jīng)svn的代碼檢出到自己的地盤)
hooks鉤子設(shè)置(將自動(dòng)更新配置好)
創(chuàng)建web服務(wù)器目錄并檢出(這個(gè)目錄就是測(cè)試員可以看的目錄了,它會(huì)自動(dòng)隨著開發(fā)人員的更新而更新)
雖然鉤子已經(jīng)實(shí)現(xiàn),但權(quán)限、用戶組、目錄結(jié)構(gòu)架設(shè)等這方面仍然沒有頭緒。還好現(xiàn)在只是一個(gè)項(xiàng)目,留下官方說明文檔,今后一步一步學(xué)習(xí):http://svndoc.iusesvn.com/svnbook/1.4/SVN配置自動(dòng)更新WEB服務(wù)器問題講解完畢。
【編輯推薦】
- Linux下不常用的SVN 命令大揭秘
- Subversion和TortoiseSVN如何在Windows下進(jìn)行構(gòu)建SVN版本控制
- CentOS系統(tǒng)中安裝subversion并使用svn+ssh訪問
- SVN使用教程簡(jiǎn)單配置篇詳解
- 在線指導(dǎo):Windows系統(tǒng)服務(wù)自動(dòng)運(yùn)行對(duì)于SVN如何實(shí)現(xiàn)