SVN實現自動更新(Windows平台)


很多人都把SVN服務器搭建在正式服務器上,commit后,需要在測試服務器先測試一下,這時候,就需要在測試環境進行update操作。

問題是,commit后,測試環境如何實現自動更新呢?

研究了一天,終於有了結果,對bat和vbs一竅不通,就是有點麻煩。

OK,我們先寫一個批處理文件svnUpdate.bat來進行svn update操作:

 

::SVN自動update

::待更新SVN目錄
SET WORKING_COPY=D:/wwwroot
svn update %WORKING_COPY%

::pause

文件很簡單,就兩條命令。

WORKING_COPY是你測試環境的網站目錄,這里是D:/wwwroot,請自行修改,當然你必須在該目錄下checkout先。

如果用戶名或密碼更改了,你應該手動進行一次驗證,並保存驗證結果。

svn update命令自行查看資料 =。 =

下一個問題是怎么調用這個bat文件呢?如果正式和測試環境,都在同一只機器上,那么直接編寫HOOK,調用這個文件就可以。

但如何不是同一個機器呢?一個比較簡單的辦法,就是在測試環境上,每經過一個時間間隔進行更新操作,我們可以編寫一個vbs腳本,每隔15秒調用一次svnUpdate.bat。

采用vbs調用有一個好處,可以隱藏彈出的cmd.exe窗口。

我們新建一個文件,callSvnUpdate.vbs,內容如下:

 

'指定時間間隔調用.bat文件
'停止腳本請在任務管理器結束wscript.exe
Set ws=wscript.createobject("wscript.shell") dim bat '需運行的文件 bat="cmd.exe /c svnUpdate.bat" do '0表示不顯示窗口,1顯示,調試用 ws.run bat,0 '每15秒運行一次 wscript.sleep 15000 loop

 

將兩個文件放於同一目錄中,運行callSvnUpdate.vbs,一切盡在不言中。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM