【伺服器】SVN環境部署進階完整版
阿新 • • 發佈:2018-12-17
搭建SVN並用鉤子自動實現同步到Web目錄
一 安裝
yum install subversion
二 檢查是否安裝成功
svn --version
三 建立倉庫目錄
mkdir –p /home/svnroot/test
四 建立專案
svnadmin create /home/svnroot/test
五 檢查是否建立成功
cd /home/svnroot/testls // 檢視建立成功後生成的檔案
六 進入conf目錄配置該版本庫的檔案
authz 是許可權控制檔案 passwd 是帳號密碼檔案 svnserve.conf 是SVN服務配置檔案
6.1 配置passwd,語法:使用者名稱=密碼
[users]
test1 = 123456
test2 = 123456
6.2 配置authz使用者許可權檔案
[/]
test1 = rw
test2 = r
6.3 配置svnserve.conf檔案,取消以下幾個註釋即可
anon-access = read #匿名使用者可讀 auth-access = write #授權使用者可寫 password-db = passwd #使用哪個檔案作為賬號檔案 authz-db = authz #使用哪個檔案作為許可權檔案 realm = /home/svnroot/test #認證空間名,版本庫所在目錄
七 啟動 SVN服務
svnserve -d -r /home/svnroot
svnserve -d -r /mnt/westos --listen-port 3691
注意:不是svnserve -d -r /home/svnroot/test
八 在本機安裝TortoiseSVN
輸入svn://你的ip地址/test
如果彈出輸入賬號密碼的對話方塊,表示上述設定正確。
九 實現自動同步
假設web目錄是 /home/www/test
在/home/svnroot/test/hooks下建立post-commit檔案,檔案設定可執行許可權
cp post-commit.tmpl post-commit chmod 755 post-commit
開啟post-commit檔案,加入以下內容
export LANG=zh_CN.UTF-8
svn co svn://你的ip地址/test /home/www/test
LOG_PATH=/tmp/svn_test.log
WEB=/home/www/test
REPOS="$1"
REV="$2"
svn update --username test1 --password 123456 $WEB --no-auth-cache >> $LOG_PATH
最後,回到shell
svn co svn://你的ip/test /home/www/test