您的位置:首页 > 运维架构 > Linux

linux下通过yum安装svn及配置

2016-05-06 09:53 525 查看
1.环境

centos6.4

2.安装svn

yum -y install subversion

3.配置

建立版本库目录

mkdir /www/svndata

svnserve -d -r /www/svndata

4.建立版本库

创建一个新的Subversion项目

svnadmin create /var/www/svndata/njlrxx

配置允许用户jiqing访问

cd /var/www/svndata/njlrxx/conf

vi svnserve.conf

anon-access = none

auth-access = write

password-db = passwd

authz-db = authz

realm = My Test Repository #这是个提示信息

注:修改的文件前面不能有空格,否则启动svn server出错

vi passwd

[users]

#<用户1> = <密码1>

#<用户2> = <密码2>

xiaoran.shen = 123456

test1 = 123456

test2 = 123456

vi authz

[groups]

admin = xiaoran.shen,test1

user = test2

[/]

@admin = rw

@user = r

* =

5.客户端连接

svn co svn://ip/njlrxx

用户名:jiqing

密码:123456

===============================================================

6.实现SVN与WEB同步,可以CO一个出来,也可以直接配在仓库中

1)设置WEB服务器根目录为/var/www/webroot

(例如将当前目录导入版本库myproject:

svn import file:///home/user/svn/myproject -m "导入文件"

)

2)checkout一份SVN

svn co svn://localhost/njlrxx /var/www/webroot/njlrxx

(例如将myproject库中的文件导出到当前目录:svn co file:///home/user/svn/myproject .)

修改权限为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 jiqing --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版本库进行对应的操作处理
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: