我可以以“commit”自动更新服务器文件的方式使用subversion吗?

时间:2010-02-02 01:34:09

标签: php eclipse svn

我想知道是否有任何方法可以使我在使用Subversion提交更改时,更改会自动反映在我的服务器上的测试文件夹中?也许这个想法是不合理的。我很难在这里获得一个很好的全景图。如果我将subversion存储库保留在服务器上,这是否合理?

5 个答案:

答案 0 :(得分:4)

你可以设置像cron作业一样简单的东西来检查每分钟左右的变化。

但是根据我的经验,我发现设置continuous integration /构建服务器(如TeamCityHudson的工作更灵活,其作业每分钟检查一次svn存储库或所以更新。如果有更新,您可以将它们“部署”到测试目录。采用这种方法的优势在于,您可以自动执行其他任务,例如重新启动Web服务器和/或运行单元测试,仅更新成功等。

此外,subversion服务器并不完全需要与需要更新的环境位于同一服务器上。

答案 1 :(得分:3)

  

我想知道是否有任何方法可以使我在使用Subversion提交更改时,更改会自动反映在我的服务器上的测试文件夹中?

是的,当然。您想要的是 post-commit hook - 请参阅相关SVN常见问题解答的此链接。

一般策略是在服务器上安装一份工作副本。提交时,脚本会被调用,其作用是使服务器的工作副本启动svn update

答案 2 :(得分:3)

答案 3 :(得分:2)

替代方案(对我而言,更可取)是在CI服务器上成功构建后使用构建后推送。将代码放在不能做正确事情的服务器上是没有意义的。

答案 4 :(得分:0)

试试svnsync

如果这不是很有趣,你可以用incron&很容易rsync