CentOS6.8 搭建SVN并用钩子自动实现同步到web目录

1 检查是否安装了SVN:# rpm -qa subversion

2 卸载旧版本SVN: # yum remove subversion

3 安装SVN:# yum install subversion 

4. 安装完成之后我们来创建版本库目录:#mkdir -p /data/svn/

5.然后启用:#svnserve -d -r /data/svn

6.然后查看是否启动了:# lsof -i:3690 

COMMAND   PID USER   FD   TYPE  DEVICE SIZE/OFF NODE NAME

svnserve      8454 root     3u     IPv4   1346200    0t0  TCP *:svn (LISTEN)

7.新建版本:mkdir -p /data/svn/test/   

 svnadmin create/data/svn/test/

8.进入conf目录配置该版本库的文件

authz 是权限控制文件

passwd 是帐号密码文件

svnserve.conf 是SVN服务配置文件

配置passwd,语法:用户名=密码 

[users]

test1=123456

test2=123456

配置authz用户权限文件

[/]

test1= rw

test2 = r

配置svnserve.conf文件,取消以下几个注释即可

anon-access =read  #匿名用户可读

auth-access =write#授权用户可写

password-db =passwd#使用哪个文件作为账号文件

authz-db =authz  #使用哪个文件作为权限文件

realm= /home/svnroot/test  #认证空间名,版本库所在目录

9.这样我们便配置好了;要使用启生效,重启SVN:

ps -ef|grep svn

kill -9 PID

svnserve -d -r /data/svn

然后再检测:sof -i:3690

COMMAND   PID USER   FD   TYPE  DEVICE SIZE/OFF NODE NAME

svnserve 8454 root    3u  IPv4 1346200      0t0  TCP *:svn (LISTEN)

10.使用 svn 命令查看是否能够正常 check out

# svn co svn://192.168.11.229/test

如果有防火墙,记得开放 3690 端口

11.实现自动同步

假设web目录是 /home/www/test  在/data/svn/test/hooks下创建post-commit文件,文件设置可执行权限

cppost-commit.tmpl post-commit        chmod 755 post-commit

打开post-commit文件,加入以下内容 :

#!/bin/bash

export LANG=zh_CN.UTF-8

svn co svn://你的ip地址/test  

LOG_PATH=/tmp/svn_test.log

WEB=/home/www/test

REPOS="$1"

REV="$2"

svn update--username test1 --password 123456 $WEB  --no-auth-cache >> $LOG_PATH

即可实现自动同步。

你可能感兴趣的:(CentOS6.8 搭建SVN并用钩子自动实现同步到web目录)