我提交时如何configurationSVN进行部署? 我想部署时,我承诺
你需要修改post commit钩子。 放置在这里:
PATH_TO_YOUR_REPO/hooks/post-commit.tmpl
改变它的名字(或者创build一个新的名字并保存下来以备将来参考):
PATH_TO_YOUR_REPO/hooks/post-commit
然后chown和chmod它让你的svn用户(通常是apache )执行该文件:
chown apache.apache PATH_TO_YOUR_REPO/hooks/post-commit chmod g+x PATH_TO_YOUR_REPO/hooks/post-commit
假设你想把你的repo的trunk导出到本地path,这里是我用来自动部署到我的testing服务器,这也是我的SVN回购服务器(我不build议使用它来部署到生产服务器,使用自定义脚本为了那个原因)。 这将在您的提交消息中查找**DEPLOY**标签,并且只有在这种情况下才能部署。
#!/bin/sh REPO="$1" REV="$2" if ( svnlook log -r $REV $REPO | grep "**DEPLOY**" ) then svn export --force -r $REV "file://$REPO/trunk" /var/www/html/yourapp fi
看Repository创build和configuration的钩子脚本部分,你可以写一个shell脚本来做任何事情/任何地方…
这是可能的,但不build议使用后提交挂钩。 这将使开发人员等待提交完成,直到钩子执行完成。
对于专业的解决scheme,应该使用持续集成工具,比如:CruiseControl,Jenkins或者其他的。