1、安裝subversion yum -y install subversion 2、查看安裝位置 rpm -ql subversion 3、建立版本庫 (1)建立版本庫根目錄 mkdir /var/svnrepos (2)建立版本庫 svnadmin create /var/svnrepos/li ...
1、安裝subversion
yum -y install subversion
2、查看安裝位置
rpm -ql subversion
3、建立版本庫
(1)建立版本庫根目錄
mkdir /var/svnrepos
(2)建立版本庫
svnadmin create /var/svnrepos/lishuyang.com
svnadmin create /var/svnrepos/lishuyang.net
(3)配置版本庫
任選一個版本庫中的conf文件夾,將其中的authz、passwd文件複製到/var/svnrepos/下,修改authz文件,如下圖
,修改passwd文件,如下圖
,然後配置每個版本庫的svnserve.conf文件,配置如下:
anon-access = none# 表示禁止匿名用戶訪問,可選值none,read,write
auth-access = write# 表示授權用戶擁有讀寫許可權
password-db =/var/svnrepos/passwd#指定用戶名口令文件,即passwd文件,可配絕對路徑
authz-db = /var/svnrepos/authz# 指定許可權配置文件,即authz文件,可配絕對路徑
realm = /var/svnrepos/lishuyang.com# SVN項目的認證域,會在認證提示里顯示。這個值每個版本庫是不同的,另lishuyang.net版本庫中的svnserve.conf配置情況也類似。
PS:這裡配置項的每一行頭部不可有空格,路徑中也不可有空格
(4)配置防火牆
在vi /etc/sysconfig/iptables文件中添加一條如下規則
-A INPUT -p tcp -m state --state NEW -m tcp --dport 3690 -j ACCEPT
重啟防火牆
systemctl restart iptables
(5)重啟subversion
svnserve -d -r /var/svnrepos
(6)測試是否安裝成功
在centos7中執行svn co svn://ip地址:3690/版本庫名稱(類似於這裡的lishuyang.com),回車,輸入在/var/svnrepos/passwd中配置的賬號密碼即可
4、配置鉤子,讓代碼同步到開發目錄
任選一版本庫,複製/var/svnrepos/lishuyang.com/hooks/post-commit.tmpl為post-commit,在post-commit的尾部加入
export LANG=en_US.utf8
SVN_PATH=/usr/bin/svn //這裡不用改
WEB_PATH=/home/www/lishuyang.com //web目錄,如果你的不同,可以改
$SVN_PATH update $WEB_PATH --username 'lsy' --password 'lsyrepo' --no-auth-cache//這裡的用戶隨便一個就好
然後把post-commit的所有者和所屬組改為web目錄的所有者和所屬組
chown root:root post-commit
給post-commit加執行許可權
chmod 755 post-commit
在web目錄創建項目目錄
mkdir /home/www/lishuyang.com
接著,重啟svnserve
svnserve -d -r /var/svnrepos/
測試代碼是否同步,提交完代碼後,需要手動檢出,這是第一次需要手動檢出,以後可自動同步
svn co svn://本機ip/lishuyang.com /home/www/lishuyang.com
PS:參考https://www.cnblogs.com/-mrl/p/8980244.html