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