svnsync应用场景:
1、减缓单个svn版本库的压力
2、更合理分配资源权限
svn实时同步配置:(安全考虑,svn端口和版本库用中文代替)
svn主从搭建: 环境:192.168.1.221 主 192.168.1.217 从 1、主从分别安装svn版本库(略过) svn主: [root@svn hooks]# cp pre-revprop-change.tmpl pre-revprop-change [root@svn hooks]# chmod +x pre-revprop-change vim pre-revprop-change if [ "$ACTION" = "M" -a "$PROPNAME" = "svn:log" ]; then exit 0; fi echo "Changing revision properties other than svn:log is prohibited" >&2 exit 0 [root@svn ~]# svnsync init svn://192.168.1.221/版本库 svn://192.168.1.217/版本库 --source-username renzhiyuan --source-password renzhiyuan --sync-username renzhiyuan --sync-password renzhiyuan svn从: [root@svnbak ~]# cd /usr/local/版本库/hooks/ [root@svnbak hooks]# cp pre-revprop-change.tmpl pre-revprop-change [root@svnbak hooks]# chmod +x pre-revprop-change vim pre-revprop-change if [ "$ACTION" = "M" -a "$PROPNAME" = "svn:log" ]; then exit 0; fi echo "Changing revision properties other than svn:log is prohibited" >&2 exit 0 初始化备份svn:(初始化之前主库不要存放东西) [root@svn ~]# svnsync init svn://192.168.1.217/版本库 svn://192.168.1.221/版本库 --source-username renzhiyuan --source-password renzhiyuan --sync-username renzhiyuan --sync-password renzhiyuan ----------------------------------------------------------------------- 注意! 你的密码,对于认证域: <svn://192.168.1.217:端口> 只能明文保存在磁盘上! 如果可能的话,请考虑配置你的系统,让 Subversion 可以保存加密后的密码。请参阅文档以获得详细信息。 你可以通过在“/root/.subversion/servers”中设置选项“store-plaintext-passwords”为“yes”或“no”, 来避免再次出现此警告。 ----------------------------------------------------------------------- 保存未加密的密码(yes/no)?yes svnsync: 目标版本库已经与“svn://192.168.1.221/版本库 ”同步 [root@svn ~]# 测试数据开始同步: [root@svn ~]# svnsync sync --non-interactive svn://192.168.1.217/版本库 -source-username renzhiyuan --source-password renzhiyuan --sync-username renzhiyuan --sync-password renzhiyuan 传输文件数据. 已提交版本 1。 复制版本 1 的属性。 [root@svn ~]# ################################################################################# 自动同步配置: 主库: [root@svn hooks]# pwd /usr/local/版本库/hooks [root@svn hooks]# cp post-commit.tmpl post-commit [root@svn hooks]# chmod +x post-commit [root@svn hooks]# vim post-commit #REPOS="$1" #REV="$2" #mailer.py commit "$REPOS" "$REV" /path/to/mailer.conf echo off svnsync sync --non-interactive svn://192.168.1.217/版本库 --source-username renzhiyuan --source-password renzhiyuan --sync-username renzhiyuan --sync-password renzhiyuan
效果
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。