svnsync代码同步

由于开发需要,想要将开发的代码同步部署至两台服务器上,于是考虑到了svn的代码同步svnsync
同步方式备份,要用到两个命令
1、svnsync init
初始化,建立本地库和源库之间的同步关系
命令格式 svnsync init 本地URL 源库URL
2、svnsync sync
真正的同步
命令格式 svnsync sync 本地URL

步骤:
1.创建本地svn库(创建一个空库就行了),省略此步骤,可以参考:创建本地svn库
注意:请确认配置的svn用户有写入权限。且对来源SVN有读取权限,且密码相同。建议用相同用户名和密码
例如我创建的地址是/www/svndata/testsync
2.进入hook目录,配置备份SVN的pre-revprop-change文件

cd /www/svndata/testsync/hooks/
cp pre-revprop-change.tmpl pre-revprop-change
vi pre-revprop-change

3.修改pre-revprop-change文件

#限制只有syncuser用户才能提交版本属性修改到此版本库
if [ "$USER" = "zhangni" ]; then exit 0; fi

svnsync代码同步_第1张图片
4.添加权限

chmod a+x pre-revprop-change

5.初始化备份SVN

svnsync init 本地svn库(用file协议简单安全) 源库(远程访问地址)        --username test --password 123456
svnsync init file:///www/svndata/testsync svn://47.00.00.89/projectname --username test --password 123456

6.命令运行后会提示,选择yes即可,后面再运行备份命令就可以不用再输入用户名和密码了
保存未加密的密码(yes/no)?yessvnsync代码同步_第2张图片

7.在备份服务器测试数据同步,运行命令(初次运行命令可能会等待一会,时间根据源库文件数量有差异)

svnsync synchronize file:///www/svndata/testsync --username test --password 123456

8.钩子创建及实时备份
如果本地库没有创建钩子的话,需要在每次执行完备份命令后,再手动执行svn up
可以创建钩子实现代码同步。创建钩子创建本地svn库

在来源SVN配置post-commit hook,启用实时备份

svnsync sync --non-interactive svn://47.00.00.89/testsync --username test --password 123456

你可能感兴趣的:(svn)