1. 程式人生 > >linux+svn自動同步

linux+svn自動同步

1,因為web專案在開發階段需要隨時更新到本地伺服器上

2,客戶端開發人員需要隨時獲取最新更新的介面API

3,手動去更新不是最終的解決方案

------------------------------------------------------------------------------------------------------------------------------------------------------------------------

svn目錄 :/opt/svn/trunk/

專案目錄:/opt/lampp/test/

------------------------------------------------------------------------------------------------------------------------------------------------------------------------

cd /var/wwww/html/php 進入專案目錄把專案checkout出來

svn checkout svn://localhost/php /opt/lampp/test/

 (前面那個路徑代表svn存放專案的地址 後面的路徑代表web專案檢測出來的路徑

 若後面的路徑不填寫則會在當前所在目錄檢測存放)

------------------------------------------------------------------------------------------------------------------------------------------------------------------------

1,cd  /opt/svn/trunk/hooks/ 

2,cp cp post-commit.tmpl post-commit (複製這份模板檔案,因為svn將要執行的是post-commit檔案)

3,vim post-commit 

將最後面幾行刪除

REPOS="$1"
REV="$2"
mailer.py commit "$REPOS" "$REV" /path/to/mailer.conf

============================================================

然後加上自己將要執行的同步的命令

export LANG=zh_CN.UTF-8  #(這句話比較重要,如果客戶端跟伺服器編碼不一樣會出現同步失敗)
WEB=/opt/lampp/test  #(將要同步過去的web專案路徑)
/usr/bin/svn update $WEB  #(/usr/bin/svn代表你的svn服務檔案地址 如果是通過yum安裝的話,或者已經註冊了svn服務,則可以直接使用svn,不需要輸入全路徑)

wq!儲存退出,此時已經完成更新命令

===========================================================================================================================

設定post-commit檔案可以執行許可權(若不設定則會出現commit false 255錯誤)

chmod  a+x  post-commit  (或者chmod  777 post-commit)
--------------------- 
作者:一句呵呵解千愁 
來源:CSDN 
原文:https://blog.csdn.net/xuelinmei_happy/article/details/34849751 
版權宣告:本文為博主原創文章,轉載請附上博文連結!