当svn项目中有任何修改更新时,系统会自动实时从svn中检出文件并同步到Web站点根目录
一、使用SVN中post-commit实现自动实时从svn中检出文件并同步到Web站点根目录.
进入svn版本库目录找到hooks目录找到文件post-commit.tmpl 复制出一个命名为post-commit的文件,并修改权限为可执行权限
cd /home/svn/project/hooks
vi post-commit #编辑,添加以下代码;
#!/bin/sh
REPOS="$1"
REV="$2"
SVN_PATH=/usr/bin
WEB_PATH=/usr/local/www/apache2.2/htdocs/project
SVN_USER=zhangsan #对应换成自己的svn账号
SVN_PASS=zhangsanpwd #对应换成自己的svn密码
WEB_USER=daemon
LOG_PATH=/tmp/svn.log
echo `date "+%Y-%m-%d %H:%M:%S"` >> $LOG_PATH
echo `whoami`,$REPOS,$REV >> $LOG_PATH
$SVN_PATH/svn update $WEB_PATH --username $SVN_USER --password $SVN_PASS --no-auth-cache >> $LOG_PATH
chown $WEB_USER.$WEB_USER -R $WEB_PATH
chmod +x /home/svn/project/hooks/post-commit #添加脚本执行权限
说明:
whoami #执行此程序的用户
REPOS=”$1″ #svn项目绝对路径值
REV=”$2″ #最新版本号
–no-auth-cache #不保存账户认证信息