說明:
伺服器作業系統:CentOS
伺服器IP:192.168.21.134
SVN安裝路徑:/usr/local/svn
SVN項目路徑:/home/svn
SVN登入帳號:osyunwei
SVN登入密碼:123456
Web網站根目錄:/home/web
實現目的:
當svn項目中有任何修改更新時,系統會自動即時從svn中檢出檔案並同步到Web網站根目錄
具體操作:
一、使用SVN中post-commit實現自動即時從svn中檢出檔案並同步到Web網站根目錄
cd /home/svn/hooks
vi post-commit #編輯,添加以下代碼
#!/bin/sh
REPOS="$1"
REV="$2"
SVN_PATH=/usr/local/svn/bin
WEB_PATH=/home/web
SVN_USER=osyunwei
SVN_PASS=123456
WEB_USER=www
LOG_PATH=/tmp/svn.log
echo `date "+%Y-%m-%d %H:%M:%S"` >> $LOG_PATH
echo `whoami`,$REPOS,$REV >> $LOG_PATH
$SVN_PATH/svn update $WEB_PATH --username $SVN_USER --password $SVN_PASS --no-auth-cache >> $LOG_PATH
chown $WEB_USER.$WEB_USER -R $WEB_PATH
:wq! #儲存退出
chown www:www /home/svn/hooks/post-commit #設定指令碼所屬使用者組,www為web服務運行賬戶和組
chmod +x /home/svn/hooks/post-commit #添加指令碼執行許可權
說明:
whoami #執行此程式的使用者
REPOS="$1" #svn項目絕對路徑值
REV="$2" #最新版本號碼
--no-auth-cache #不儲存賬戶認證資訊
二、用戶端測試
使用svn用戶端添加一個檔案之後,Web頁面會即時顯示出來!如下圖所示: