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
来源:https://www.cnblogs.com/mingli2/p/12379972.html