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

 

posted @ 2018-06-24 16:49  Paul7777  阅读(1018)  评论(0编辑  收藏  举报