Linux下通过yum安装svn及配置
- 环境
centos6.4
- 安装svn
yum -y install subversion
- 配置
建立版本库目录
mkdir /lh/svndata
svnserve -d -r /lh/svndata
查看是否启动成功:netstat -lnt | grep 3690 ps -le | grep svn
- 建立版本库
创建一个新的Subversion项目
svnadmin create /lh/svndata/noc
配置运行用户Paul访问
cd /lh/svndata/noc/conf
vim svnserve.conf
anon-access=none auth-access=write password-db=passwd 注:修改的文件前面不能有空格,否则启动svn server出错
Vim passwd
[users] #<用户1> = <密码1> #<用户2> = <密码2> paul = 123456
- 客户端连接
svn co svn://ip/njlrxx
用户名:paul
密码:123456
6. 实现SVN与WEB同步,可以CO一个出来,也可以直接配在仓库中
1)设置WEB服务器根目录为/var/www/webroot
2)checkout一份SVN
svn co svn://localhost/njlrxx /var/www/webroot/njlrxx
修改权限为WEB用户
chown -R apache:apache /var/www/webroot/njlrxx
3)建立同步脚本
cd /var/www/svndata/njlrxx/hooks/
cp post-commit.tmpl post-commit
编辑post-commit,在文件最后添加以下内容
REPOS="$1"
REV="$2"
BASEPATH=/var/www/webroot/njlrxx
WEBPATH="$BASEPATH/"
export LANG=zh_CN.UTF-8
svn update $WEBPATH --username paul --password 123456 --no-auth-cache
增加脚本执行权限
chmod +x post-commit
最后操作是关闭服务然再打开服务:
svn服务的关闭:
killall svnserve
svn开启:
svnserve -d -r /var/www/svndata
===============================================================
SVN自动同步程序执行流程:
1、用户提交文件到SVN服务器,提交操作成功后触发post-commit脚本
2、在post-commit版本文件中使用php_script.php执行PHP脚本
3、在PHP脚本中通过exec系统调用更新服务器上的版本库工作副本
4、根据更新操作结果日志,对另一个SVN版本库进行对应的操作处理
附svn windows客户端软件:https://pan.baidu.com/s/1mRi2_wEcMfFQVVGaVsxJXA