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