linux下svn版本库与web站点同步更新的方法
1. 确定好svn版本库和web站点目录的地址,并确定两个都存在,我的svn版本库目录为/var/svn/test1,web站点的目录为/www/wwwroot/test1
2.checkout一下svn里的文件至web站点 svn checkout file://版本库地址 web站点地址
3.设置钩子
(1). 进入svn版本库下的,cd /var/svn/test1/hooks 可以看到有以下几个文件
(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
修改完成后,按ESC键->输入:wq->按enter键保存
(4)设置文件的权限,不设置的话无法同步文件
chmod 777 post-commit
4.重启svn服务
killall svnserve (关闭)
svnserve -d -r /var/svn (重启)
5.测试
(1) .站点没有文件
(2) .添加3个文件并提交
(3). 再次查看web站点,文件已同步添加
(4). 删除其中一个文件并提交
(5). 查看web站点,文件已同步删除