萬盛學電腦網

 萬盛學電腦網 >> 服務器教程 >> Linux中svn提交文件後自動同步更新到網站目錄

Linux中svn提交文件後自動同步更新到網站目錄

 下面來為各位介紹Linux中svn提交文件後自動同步更新到網站目錄希望文章對各位有幫助.

   

有時,對於多文件需要上傳到服務器的時候將會很麻煩,但是如果使用svn的鉤子腳本就容易實現本地提交svn後,自動同步代碼文件到遠程服務器的網站目錄下,而不必手動上傳了。

首先,在網站目錄下checkout代碼,例如我的目錄是/data/www/test

svn co https://127.0.0.1/test/trunk/ /data/www/test/


注意,這是因為有時我會在服務器上直接修改代碼,所以用checkout,如果不需要,可以用export,此指令不帶.svn版本文件。
遷出代碼後,就需要建立鉤子腳本了,我的版本庫放置在/data/svn/test/下,新建一個post-commit腳本,添加如下內容:

#!/bin/sh
REPOS="$1"
REV="$2"
 
export LANG=zh_CN.UTF-8      #字符集,與服務器一致,可執行locale命令查看
svn update /data/www/test/   #更新svn
echo `date`,`whoami`,$REPOS,$REV >> /data/svn/test/hooks/svn_hook.log  #記錄時間日志
chown -R web:web /data/www/test  #將網站目錄文件更改屬主,如果你是使用root用戶更新的話
給予腳本執行命令:chmod +x /data/svn/test/hooks/post-commit
至此,就完成了svn提交自動更新同步代碼了。

copyright © 萬盛學電腦網 all rights reserved