VisualSVN 自動同步更新到網站服務器

lssbing  php

VisualSVN 自動同步更新到網站服務器

基本配置方法: linux

條件:web

1. web 服務器安裝 VisualSVN 和 TortoiseSVN windows

2. 客戶機安裝 TortoiseSVN 服務器

3. 同時在客戶機和服務器建立 web 目錄 , 這兩個目錄都是鏈接 VisualSVN 的ide

4. 同時checkout 下文件 , 使這兩個目錄保持版本一致,最好不要直接編輯 服務器上的 web 目錄文件 防止同步錯誤svn

5. 在 C:\visualSVN\Repositories\web\hooks (根據本身的安裝查找) 下創建一個 post-commit.bat 的文件內容以下:post

@echo off測試

"C:\visualSVN\VisualSVN Server\bin\svn.exe" update "D:\webHost" --username svn --password 000000網站

解析:

"svn的程序" update "服務器web 目錄" --username 用戶名 --password 密碼


這裏hooks 下有 post-commit 模板文件,不過是 linux 下用的例子

post-commit.bat 的做用就是在你用 Tortoise 進行 commit 成功後,執行一個批處理,就是 post-commit.bat 的文件。 

我這裏只說一下關鍵點吧:知道這些關鍵點就不會出現上述問題了:

1. visualSVN 必須設置成 不用 https 來訪問的 方式鏈接

2. 如 果你如今遇到上面錯誤時已經使用了這種https方法,那麼就從新設置一下,設置爲沒有https的方法進行訪問! 並重啓 visualSVN ,而後 將你的已經 checkout 的文件夾刪除,從新以新的鏈接方式 checkout 下來 ,而後再試 由於你之前 checkout 用的 是 443 的方法, 再執行 post-commit.bat 時老是調用 443 這個鏈接, 因此要刪除並checkout 一下.



方法二
步驟:
   1. 安 裝VisualSVN Server 2.0.7,整個安裝過程很是簡單,安裝完就能夠在windows的管理頁面看到了,設置也比較簡單。可是安裝完默 認使用SYSTEM用戶來執行,對目錄沒有寫的權限,會致使執行第4步Hook腳本失敗,因此還須要修改一下VisualSVN Server服務的登陸 用戶,我這裏將其設置爲了Administrator 。
 
      如圖:
 
   2. 設置網站根目錄(如:e:\web) 爲SVN工做目錄,從版本庫下載全部文件
 
   3. 在hook目錄中建立一個文件post-commit.bat (注意:windows下有效的腳本類型能夠是,.bat .com .exe 或其餘有效的Python腳本,perl腳本),由於不須要太複雜的功能,因此使用bat是最簡單的。
 
   4. 編輯 post-commit.bat 內容爲:
 
       "E:\Program Files\VisualSVN Server\bin\svn.exe" update "e:\web\" 
 
 
 
      這段代碼意思是使用SVN從版本庫更新網站根目錄
Ok, 就這麼幾步,我在設置的時候,因爲還不知道VisualSVN Server的執行權限問題,致使每次 commit 後客戶端都中止響應,但本身執 行 post-commit.bat 又沒有什麼問題,最後反覆查找才發現了問題所在,記錄下來,但願能給遇到相同問題的朋友一點幫助

提交到SVN服務器後,自動發佈到web測試服務器,免去在web服務器手動更新的操做。 

在SVN 項目版本的存儲目錄的hooks 目錄中,創建一個post-commit.bat 文件,內容以下:


SET REPOS=%1
 
SET USER=%2
 
SET SVN="D:/Program Files/VisualSVN Server/bin/svn.exe"
 
SET DIR="E:/php/AppServ/www/cms"
 
SVN update %DIR%
 
(call %SVN% update %DIR% --username moqidian --password 123456 --non-interactive)

 @echo offSET REPOS=%1SET REV=%2SET DIR=%REPOS%/hooksSET PATH=%PATH%;SET WORKING_COPY=D:/PHPNOW/vhosts/home/"E:\Program Files\VisualSVN Server\bin\svn.exe" update %WORKING_COPY% --username name --password pass

相關文章
相關標籤/搜索