linux下svn版本库与web站点同步更新的方法

1. 确定好svn版本库和web站点目录的地址,并确定两个都存在,我的svn版本库目录为/var/svn/test1,web站点的目录为/www/wwwroot/test1

2.checkout一下svn里的文件至web站点 svn checkout file://版本库地址 web站点地址

linux下svn版本库与web站点同步更新的方法

3.设置钩子

(1). 进入svn版本库下的,cd /var/svn/test1/hooks 可以看到有以下几个文件

linux下svn版本库与web站点同步更新的方法

(2). 复制post-commit.tmpl文件,改名为post-commit,并进入修改

复制:cp post-commit.tmpl post-commit

进入修改:vi post-commit

(3).在最下面加入以下几行代码
#!/bin/bash
export LANG=zh_CN.UTF-8
REPOS="$1"
REV="$2"
WEB_PATH=web站点地址
svn up $WEB_PATH --username svn用户名 --password svn密码 --no-auth-cache

linux下svn版本库与web站点同步更新的方法

 

修改完成后,按ESC键->输入:wq->按enter键保存

(4)设置文件的权限,不设置的话无法同步文件

chmod 777 post-commit

linux下svn版本库与web站点同步更新的方法

4.重启svn服务

killall svnserve   (关闭)

svnserve -d -r /var/svn  (重启)

linux下svn版本库与web站点同步更新的方法

5.测试

(1) .站点没有文件

linux下svn版本库与web站点同步更新的方法

(2) .添加3个文件并提交

linux下svn版本库与web站点同步更新的方法

(3). 再次查看web站点,文件已同步添加

linux下svn版本库与web站点同步更新的方法

(4). 删除其中一个文件并提交

linux下svn版本库与web站点同步更新的方法

(5). 查看web站点,文件已同步删除

linux下svn版本库与web站点同步更新的方法