【问题标题】:Can I use subversion in such a way that "commit" automatically updates my server files?我可以以“提交”自动更新我的服务器文件的方式使用颠覆吗?
【发布时间】:2011-01-11 23:43:00
【问题描述】:

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

【问题讨论】:

    标签: php eclipse svn


    【解决方案1】:

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

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

    一般的策略是在您的服务器上拥有一个工作副本。当你提交时,脚本会被调用,它的工作是让你的服务器的工作副本启动一个svn update

    【讨论】:

      【解决方案2】:
      【解决方案3】:

      试试svnsync

      如果这不有趣,你可以很容易地用 incron 和 rsync 做一些自定义的事情

      【讨论】:

        【解决方案4】:

        另一种选择(对我来说,更可取)是在 CI 服务器上成功构建后使用构建后推送。将代码放在不正确的服务器上是没有意义的。

        【讨论】:

          【解决方案5】:

          您可以设置一些像 cron 作业一样简单的东西,以每分钟左右检查一次更改。

          但是,根据我的经验,我发现设置continuous integration / 构建服务器(如TeamCityHudson)更灵活,每分钟左右检查一次svn 存储库以获取更新。如果有更新,您可以将它们“部署”到测试目录。走这条路的好处是您可以自动执行其他任务,例如重新启动 Web 服务器和/或运行单元测试以及仅在成功时更新等。

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

          【讨论】:

          • 我最喜欢这个想法,但我感觉 OP 正在寻找相对轻量级的东西。
          猜你喜欢
          • 2010-09-13
          • 1970-01-01
          • 2019-09-03
          • 2016-06-21
          • 1970-01-01
          • 2011-06-25
          • 2011-04-15
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多