我有一个爆炸的 www 文件夹,其中包含我的整个 php 网站。
我想知道这样的事情是否可能:
- 开发人员不直接处理文件
- 更改在本地或登台服务器上进行测试
- svn commits 触发一个事件,它将对 repo 所做的最新更改同步到 www 文件夹
我听说过 svnsync / svnexport 工具,但是如何在提交时触发它们或让它们“监听”我的仓库?
此外,他们可以只更新更改的文件吗?我的回购非常大。
人们经常这样做,以至于它在官方 Subversion 常见问题解答中
精简版:
www
目录成为工作副本svn update
创建一个针对该工作副本执行的提交后挂钩。如果您的存储库服务器没有直接访问 Web 服务器的权限(它不应该),您最好这样做:
svn update
创建一个针对该工作副本执行的提交后挂钩rsync
该工作副本到您的 Web 服务器(这可能是提交后挂钩脚本的一部分)另一种选择是使用持续集成服务器来监控存储库更改并进行部署。事实上,这是大多数商店的最佳选择。您将使用 CI 服务器更新临时服务器,然后仅在测试完成后推送到实时服务器。然后,您的开发人员将只能在本地的、他们私有的工作副本中工作。