题主的意思是,svn提交代码后,执行特定部署任务。这个用钩子(hook)脚本做到。 具体到svn,在服务器的svn仓库中,svn_repo/hooks/post-commit里面写shell脚本就可以了。svn_repo是你服务器上的svn仓库目录。 我的post-commit代码写的不怎么样,不过你可以参考下: REPOS="$1" REV="$2" export LANG=zh_CN.UTF-8 SVN_PATH=/usr/bin/svn WEB_PATH=/var/www/html/xxx.yyy.com TEMP_PATH=/var/www/html/xxx.yyy.com/temp CURDATE=`date` LOG_PATH=/tmp/svn_some_update.log echo " " echo "---code deployed at $CURDATE---" >> $LOG_PATH 2>&1 echo `whoami`,$REPOS,$REV >> $LOG_PATH /usr/bin/svn update --username username --password password $WEB_PATH --no-auth-cache >> $LOG_PATH 2>&1 echo "---code deployed end---" 以及,注意权限: chmod +x post-commit # 可执行 chown apache:apache post-commit # apache组。如果你用的不是apache,那就相应地改掉
题主的意思是,svn提交代码后,执行特定部署任务。这个用钩子(hook)脚本做到。
具体到svn,在服务器的svn仓库中,
svn_repo/hooks/post-commit
里面写shell脚本就可以了。svn_repo
是你服务器上的svn仓库目录。我的
post-commit
代码写的不怎么样,不过你可以参考下:以及,注意权限: