上一篇中已经介绍了如何搭建svn服务器。这篇是对上篇的进一步深入。
一、新建post-commit 文件
找到svn中的hooks目录,在里面新建 post-commit 文件(此文件时没有后缀的)
其中写入如下代码(第一个是ubontu使用,第二个是centos使用)
#!/bin/sh
WEB=/www //代表要把svn中的文件更新到 /www目录中
export LANG=en_US.UTF-8
sudo svn update $WEB --username admin --password admin
#!/bin/sh
#//设定环境变量,如果没有设定可能会出现update报错 #设定语言,根据系统语言设置,如果是GBK就设置为 LANG=zh_CN.GBK
export LANG=en_US.utf8
SVN_PATH=/bin/svn # //这指的svn的安装目录(不是库的目录)
WEB_PATH=/www # //web目录,如果你的不同,可以改
#//这里的用户随便一个就好
$SVN_PATH update $WEB_PATH --username 'admin' --password 'admin' --no-auth-cache
上面的username 和password后面分别跟的是 svn中conf/passwd中设置的账号密码
给post-commit增加可执行权限
chmod 755 post-commit
二、修改目录权限
修改第一步中的WEB目录权限
使用 chmod -R 777 /www 命令即可
三、检出要同步的svn目录
svn co svn://122.*.*.62/api.kfc**.me/branches/project_20190311 /www/out_project/api.kfc**.me/ --username yil1234 --password 123456
这一步很重要,如果没这一步,会无法同步
这一步的同步,想当于让svn记住,是从哪个库检出到哪个目录中。
到时要是想更换分支的检出,只要删除原先的web站点,比如这个是删除
/www/out_project/api.kfcxx.me目录,重新创建个目录,/www/out_project/api.kfcxx.me,重新检出即可
四、重启svn服务器
svnserve -d -r /srv/svn/tone_src
(我是把svn安装到了/srv/svn/tone_src中了,所以是用这个路径,)
以上就是我对svn的总结,如果错误,还望指正