svn - 用于将更改的文件部署到生产 Web 服务器的工具

标签 svn deployment

我的系统基于 LAMP 堆栈。我有 2 个同步的应用程序服务器。将更改的文件部署到我的两个生产服务器的最佳方法是什么。

当前场景是:

  • 有时我使用临时服务器,有时如果不需要,我直接将文件从开发服务器复制到生产服务器。
  • 我可能会直接在我的生产服务器上修复一些问题。
  • 我们将 svn 用于开发服务器和测试服务器,但出于安全考虑,它未用于生产服务器。我什至不确定开发人员的 promise 。
  • 每次我都必须查看文件之间的差异,然后将更改复制到我的生产服务器。有时,我必须合并文件。

我能否有一些工具可以通知我生产服务器中的给定文件发生了更改,然后相应地合并/复制冲突并以优化的方式安全地部署所有更改的文件。

最佳答案

我可能会首先在本地存储部署服务器上的目录镜像,以便对其进行版本控制。使用类似 rsync 的镜像工具可以确保您在两个地方拥有相同的文件。

然后您也可以将部署服务器上的确切内容添加到 subversion 中。如果它们不适合开发/测试版本,您可以为部署版本创建一个分支,您可以在其中从主分支进行定期合并。

这种检查修改的方式变成了使用您最喜欢的 svn 工具在部署镜像上执行“svn 状态”或“检查修改”,然后您可以轻松地 checkin 更改。

需要回放到开发/测试阶段的东西显然需要从你的部署分支合并回主分支。

关于svn - 用于将更改的文件部署到生产 Web 服务器的工具,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12072695/

相关文章:

bash - svn 从 bash 脚本提交而不打开编辑器

svn - 为什么我会收到 “svn: E120106: ra_serf: The server sent a truncated HTTP response body” 错误?

iphone - 使用 SQLite3 部署 iPhone 应用程序

visual-studio-2010 - Visual Studio 包构建和私有(private) bin 路径中的 DLL

winforms - 使用嵌入式 sqlite 部署 winform 应用程序

asp.net - 如何直接从 Visual Studio 2008 部署 Web 应用程序?

linux - 我如何为用户 svn 确定他的锁定文件列表

windows - 如何从 Subversion 存储库中删除意外放置的大文件 (4GB)?

svn - 防止IntelliJ添加IML文件

ruby-on-rails - 用于 RubyOnRails 应用程序的 Thin + Nginx 生产就绪组合