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

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

当前场景是:

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

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

最佳答案

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

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

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

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

https://stackoverflow.com/questions/12072695/

相关文章:

asp.net-mvc-3 - 如何将Web应用程序转换为SaaS?

php - 来自另一个用户的 DBus

django - 移除 ForeignKey 后迁移到第三方模型

html - 在新选项卡中打开链接(在框架设置内)

asynchronous - 如果它不存在,如何让nginx重试静态文件

php - session 提前结束

arm - AOSP 中的工具链

asp.net-mvc-3 - 如何将 IEnumerable 对象或数据从 View 传递到 Co

java - 如何在 MyBatis 中调用返回 Oracle 记录类型的 Oracle 函数

text - 删除属于其他字符串的子字符串