svn安装与配置

Linux大区 2年前 (2022) 导航君
16 0 0
  • 环境说明
    centos6.9
    svn主库10.10.0.9
    svn从库10.10.0.10
  • 安装svn
yum install subversion -y
  • 创建库和配置库
创建test库
# mkdir  /data/svnroot
# svnadmin create /data/svnroot/test

配置库
权限配置
# cat > /data/svnroot/test/conf/authz << EOF
[aliases]
[groups]
[/]
test-sync = rw

[test:/project/www]
www = rw

[test:/project/app]
app = rw

[test:/project/web]
web = rw
EOF

账号密码配置
# cat > /data/svnroot/test/conf/passwd << EOF
[users]
test-sync = xxxtestsyncxxx
www = xxxwwwxxx
app = xxxappxxx
web = xxxwebxxx
EOF

主配置文件
# cat > /data/svnroot/test/conf/svnserve.conf << EOF
[general]
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
[sasl]
EOF

启动svn
svnserve -d -r /data/svnroot/
#指定端口ip启动 svnserve -d -r /data/svnroot/ --listen-host 127.0.0.1  --listen-port 3690
简单使用
用test-sync用户去检出项目,并创建project目录及目录下的app,www,web子目录,提交
地址:   svn://xxx.xxx.xxx.xxx/test/
用户:test-sync
密码:xxxtestsyncxxx
其他用户使用
地址:  svn://xxx.xxx.xxx.xxx/test/project/www
用户:www
密码:xxxwwwxxx
  • 主从库配置

原理:利用钩子,当svn主库有提交时,触发钩子去同步svn从库。
从库搭建:跟主库一样。

配置主库钩子

# cat > /data/svnroot/test/hooks/post-commit << EOF
#!/bin/sh
export LANG=en_US.UTF-8
webco=/data/src/test/project/web
webdir=/data/www/web.xxx.com
##10.10.0.10 svn从库内网ip
svnsync sync --non-interactive svn://10.10.0.10/test --sync-username test-sync --sync-password xxxtestsyncxxx --source-username test-sync --source-password  xxxtestsyncxxx

#svn update /data/src/test/project/web
#rsync -a --delete -f '- .svn'  $webco/ $webdir
#chown -R www:www $logindir
EOF

# chmod 755  /data/svnroot/test/hooks/post-commit

配置从库钩子

# cat > /data/svnroot/test/hooks/pre-revprop-change << EOF
#!/bin/sh
exit 0
EOF

第一次手动同步从库

# svnsync init svn://10.10.0.10/test svn://10.10.0.9/test
svnsync init svn://从库ip/test svn://主库ip/test
账号test-sync
密码xxxtestsyncxxx
# svnsync sync --non-interactive svn://10.10.0.10/test
版权声明:导航君 发表于 2022年6月16日 上午8:27。
转载请注明:svn安装与配置 | 第八网址导航

相关文章

暂无评论

暂无评论...