1. 程式人生 > >【伺服器】SVN環境部署進階完整版

【伺服器】SVN環境部署進階完整版

搭建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