SVN在團隊開發中使用非常普遍,是一個很方便的版本控制系統。
如果要是能將SVN服務器上的數據自動發布到Web服務器,那將是整個項目開發、測試更加便捷。利用SVN的hook功能就能實現將SVN服務器上的數據同步到Web服務器。
思路:
找到SVN Server中的倉庫(Repositories)文件夾的位置,在相應的項目文件夾中找到hooks文件夾。在該文件夾中添加一個post-commit文件;當有commit動作發生時(提交到SVN Server時)就會執行這個post-commit文件,在該文件實現數據的復制。
實例:
環境:SVN Server與測試用的Web Server在同一臺Windows系統服務器上,SVN Server使用的是VisualSVN,Web Server使用的是Apache.項目的名稱為test,客戶端使用TortoiseSVN.
首先在apache的www目錄下創建一個文件夾,進行checkout,輸入需要用戶名和密碼,將test項目取出到該文件夾中。
找到SVN Server的Repositories目錄,在Repositories/test/hooks文件夾中創建post-commit.bat,在其中寫入命令:
"C:Program FilesVisualSVN Serverbinsvn.exe" update "D:wwwtest" --quiet --username name --password pwd
(即執行svn update命令,請自行替換用戶名和密碼)
也可以這樣寫
@echo off
set REPOS="%1"
set TXN="%2"
"C:Program FilesSubversionbinsvn.exe" update "f:wwwroot" --quiet --username admin --password admin
好了,大功告成。
新聞熱點
疑難解答