一、安装SVN

yum install subversion 

二、检查是否安装成功

svnserve --version 

三、创建仓库目录

mkdir -p /data/svn/

四、创建项目


# 放置 authz 和 passwd 用于管理项目的账号和密码
svnadmin create /data/svn/svn_conf/

# 项目
svnadmin create /data/svn/project/

五、统计管理配置

创建统一管理相关配置文件
mkdir -p /data/svn/conf

cd /data/svn/conf

cp /data/svn/svn_conf/conf/* /data/svn/conf
编辑/data/svn/conf/passwd相关配置
[users]
# harry = harryssecret
# sally = sallyssecret
ydconf_acount=ydconf11111
phl=phl123456
编辑/data/svn/conf/authz相关配置

[groups]
# harry_and_sally = harry,sally
# harry_sally_and_joe = harry,sally,&joe

ydconf = ydconf_acount,phl
project = phl

[ydconf:/]
@ydconf = rw
* =

[project:/]
@project = rw
* =
编辑/data/svn/conf/svnserve.conf相关配置

[general]
anon-access = none
auth-access = write

# 共用的用户管理
password-db = /data/svn/conf/passwd

#共用的权限配置
authz-db = /data/svn/conf/authz

#仓库目录
realm = /data/svn  
复制/data/svn/conf/svnserve.conf到各个项目下
cp /data/svn/conf/svnserve.conf /data/svn/ydconf/conf/
cp /data/svn/conf/svnserve.conf /data/svn/project/conf/

六、启动

svnserve -d -r /data/svn --listen-port 55661

重启,可直接kill掉进程。重新启动

killall svnserce

七、配置线下更新提交可以直接更新用户信息

1、拉取/data/svn/svn_conf/

在window下也拉取一份,然后在服务端的/data/svn/conf/目录下下载passwd和authz到ydconf下。并提交

# 创建存放客户端目录
mkdir /data/clientsvn

# 拉取
svn checkout svn://120.76.173.22:55661/ydconf/ --username ydconf_acount --password ydconf11111
2、软链到 /data/svn/conf/
ln -s /data/clientsvn/ydconf/authz  /data/svn/conf/authz
ln -s /data/clientsvn/ydconf/passwd  /data/svn/conf/passwd
/data/svn/conf/提交后,触发钩子更新到 /data/clientsvn/ydconf
vi /data/svn/ydconf/hooks/post-commit

内容如下

#!/bin/sh

/usr/bin/svn update /data/clientsvn/ydconf --username ydconf_acount --password ydconf11111
设置权限
chmod 777 /data/svn/ydconf/hooks/post-commit