centos安装svn并配置钩子同步到www目录

来源:互联网 发布:excel数据地图制作 编辑:程序博客网 时间:2024/05/21 09:35

1、安装svn

#yum install mod_dav_svn subversion 

 

2、建立 SVN的根目录

#mkdir -p /opt/svn/

 

3、建立一个数据仓库

#mkdir -p /opt/svn/wwwroot/ 

#svnadmin create /opt/svn/wwwroot/

 

4、修改配置文件 标粗字体

#cd /opt/svn/wwwroot/conf/

 

#vi svnserve.conf

[general]

anon-access = none     #不允许匿名访问

auth-access = write     #认证用户可写

password-db = passwd  #密码文件

authz-db = authz       #用户验证文件

 

#vi authz

[test:/]

user1= rw

 

#vi passwd

user1= user1777

 

5、启动服务

#svnserve -d -r /opt/svn/

 

6、查看进程,如果要关闭svn,杀掉对应进程,kill -9 1867即可

#ps -A | grep svn

 1867 ?        00:00:00 svnserve

 

到这一步,就可以使用svn客户端TortoiseSVN,然后使用新建的帐号进行代码提交更新了

如果要可以通过http直接访问svn项目,则继续往下

7、配置svn提交钩子

#cd /opt/svn/wwwroot/hooks/

#cp post-commit.tmpl post-commit

#vi post-commit

#将里面的所有代码注释掉,然后输入如下代码:

#!/bin/bash

export LANG=en_US.UTF-8

REPOS="$1"

REV="$2"

cd /var/www/html/svn1/wwwroot/

/usr/bin/svn cleanup

/usr/bin/svn up /var/www/html/svn1/wwwroot/  --username "user1" --password "user1777"

 

先在/var/www/html/svn1/wwwroot/使用checkout命令,使用svn客户端提交几个文件

在服务器的www目录看是否自动更新了,之后即可使用http访问

 

 

注意事项

1、防火墙必须打开svn端口3690

2、同步到的www目录必须先checkout才能使用svn命令

3post-commit钩子脚本、同步的www目录必须有写入权限

4svn命令svn checkout svn://192.168.10.111/wwwroot注意会把整个wwwroot文件夹一起checkout