1.安装
yum -y install svn
svn --version
2.创建仓库
mkdir -p /svn
cd /svn
svnadmin create proxy
svnadmin create test
3.添加用户
vim conf/passwd
添加一行
ningzw = ningzw
test = test
4.多个项目公用一套配置文件
cd /svn
cp proxy/conf/passwd .
cp proxy/conf/authz .
cd proxy
vim svnserve.conf
anon-access = none
auth-access= write
password-db = ../../passwd
authz-db = ../../authz
5.配置访问权限
cd /svn
vim authz
group1 = ningzw,test
[proxy:/]
ningzw = rw
* =
[test:/]
test = r
svnauthz -validate /svn/authz
6.启动服务(所有项目)
svnserve -d -r /svn/
ss -tlnp | grep 3690
7.开启防火墙
firewall-cmd --permanent --query-port=3690/tcp
firewall-cmd --permanent --add-port=3690/tcp
firewall-cmd --reload
8.下载项目
svn://1xx.x.xxx.xx/proxy
svn://1xx.x.xxx.xx/test
9.停止服务
killall svnserve
10.设置开机启动
vim /etc/sysconfig/svnserve
OPTIONS="-r /svn"
systemctl enable svnserve
11.常见SVN客户端命令
svn checkout - 检出 /www/proxy
svn add - 添加到版本控制
svn commit - 提交修改到服务端(创建一个新的版本号)
svn update - 更新工作副本
svn delete - 从版本库中删除文件或目录
svn diff - 版本差异比较
svn mkdir - 创建目录并增加到版本控制
svn cat - 不检出工作副本直接查看指定文件
12.定义钩子自动更新
cd /svn/proxy/hooks
cp post-commit.tmpl post-commit
chmod +x post-commit
vim post-commit
export LANG=en_US.UTF-8
/usr/bin/svn update /home/wwwroot/proxy_website --username ningzw --password ningzw --no-auth-cache