我想知道是否有任何方法可以使我在使用Subversion提交更改时,更改会自动反映在我的服务器上的测试文件夹中?也许这个想法是不合理的。我很难在这里获得一个很好的全景图。如果我将subversion存储库保留在服务器上,这是否合理?
答案 0 :(得分:4)
你可以设置像cron作业一样简单的东西来检查每分钟左右的变化。
但是根据我的经验,我发现设置continuous integration /构建服务器(如TeamCity或Hudson的工作更灵活,其作业每分钟检查一次svn存储库或所以更新。如果有更新,您可以将它们“部署”到测试目录。采用这种方法的优势在于,您可以自动执行其他任务,例如重新启动Web服务器和/或运行单元测试,仅更新成功等。
此外,subversion服务器并不完全需要与需要更新的环境位于同一服务器上。
答案 1 :(得分:3)
我想知道是否有任何方法可以使我在使用Subversion提交更改时,更改会自动反映在我的服务器上的测试文件夹中?
是的,当然。您想要的是 post-commit hook - 请参阅相关SVN常见问题解答的此链接。
一般策略是在服务器上安装一份工作副本。提交时,脚本会被调用,其作用是使服务器的工作副本启动svn update
。
答案 2 :(得分:3)
提交后挂钩应该可以帮助您:I'm managing a website in my repository. How can I make the live site automatically update after every commit?
答案 3 :(得分:2)
替代方案(对我而言,更可取)是在CI服务器上成功构建后使用构建后推送。将代码放在不能做正确事情的服务器上是没有意义的。
答案 4 :(得分:0)
试试svnsync?
如果这不是很有趣,你可以用incron&很容易rsync