1

我有一个爆炸的 www 文件夹,其中包含我的整个 php 网站。

我想知道这样的事情是否可能:

  • 开发人员不直接处理文件
  • 更改在本地或登台服务器上进行测试
  • svn commits 触发一个事件,它将对 repo 所做的最新更改同步到 www 文件夹

我听说过 svnsync / svnexport 工具,但是如何在提交时触发它们或让它们“监听”我的仓库?

此外,他们可以只更新更改的文件吗?我的回购非常大。

4

1 回答 1

1

人们经常这样做,以至于它在官方 Subversion 常见问题解答中

精简版:

  1. 使您的www目录成为工作副本
  2. svn update创建一个针对该工作副本执行的提交后挂钩。

如果您的存储库服务器没有直接访问 Web 服务器的权限(它不应该),您最好这样做:

  1. 在存储库服务器或中间服务器上创建工作副本
  2. svn update创建一个针对该工作副本执行的提交后挂钩
  3. rsync该工作副本到您的 Web 服务器(这可能是提交后挂钩脚本的一部分)

一种选择是使用持续集成服务器来监控存储库更改并进行部署。事实上,这是大多数商店的最佳选择。您将使用 CI 服务器更新临时服务器,然后仅在测试完成后推送到实时服务器。然后,您的开发人员将只能在本地的、他们私有的工作副本中工作。

于 2014-06-04T11:05:27.560 回答