Linux 下搭建 SVN 服務

river_bird發表於2018-10-11

準備工作

環境
centos7、yum源

安裝

yum -y install subversion

配置

搭建svn服務,配置使用者

建立一個新的svn專案
svnadmin create /home/www/svn
配置允許使用者訪問

cd /home/www/svn
ls
vi /conf/svnserve.conf

找到 anon-access,將其設定為none並且將前面的#去掉;找到auth-access = write,password-db = passwd 前面的#去掉;將realm前面的#去掉,後面填入剛剛填寫的svn專案的路徑;退出儲存::wq
vi authz
在最後一行加上

[/]
xxx = rw

給xxx使用者配置讀和寫的操作,儲存退出:wq
vi passwd
在[users]下加入
your user = your password
儲存退出::wq
建立版本庫目錄

mkdir /home/www
svnserve -d -r /home/www

配置防火牆埠對外開發,svn預設埠:3690

配置hook,實現svn與web同步

在/home/www下checkout一份程式碼下來
svn co svn://localhost/svn/project /home/www
修改許可權為www使用者
chown -R www:www /home/www/project

cd /home/www/svn/hooks
cp post-commit.tmpl post-commit

編輯post-commit,在檔案最後一行加入以上內容

REPOS="$1"
REV="$2"

BASEPATH=/home/www/project
WEBPATH="$BASEPATH/"
export LANG=zh_CN.UTF-8
svn update $WEBPATH --username xxx --password xxx --no-auth-cache

增加指令碼的可執行許可權
chmod +x ./post-commit
最後重啟svn服務

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章