之前的做法是客戶端提交代碼之后,再去服務器端項目中 svn up 一下來更新代碼,讓服務器端的項目更新到最新版本。可以編寫一個 post-commit 鈎子腳本來實現服務器端代碼的自動更新,它在 SVN 每次 svn commit 之后運行。
服務器端 SVN 版本倉庫中,進入某個項目,有一個 hooks 文件夾:
進入 hooks 文件夾,創建一個文件 post-commit:
#!/bin/sh
REPOS="$1" REV="$2" export LC_ALL="zh_CN.UTF-8" export LANG="en_US.UTF-8" SVN_PATH=/usr/bin #svn安裝路徑 WEB_PATH=/home/wwwroot/***** #web項目所在 SVN_USER=huangdi #svn用戶名 SVN_PASS=huangdi #svn密碼 LOG_PATH=/tmp/svn.log $SVN_PATH/svn update $WEB_PATH || exit 1 exit 0
保存退出,就可以實現服務器端代碼自動更新了。
ps:post-commit 需要有執行權限:
chown svn:svn post-commit chmod +x post-commit