我的系统基于 LAMP 堆栈。我有 2 个同步的应用程序服务器。将更改的文件部署到我的两个生产服务器的最佳方法是什么。
当前场景是:
- 有时我使用临时服务器,有时如果不需要,我直接将文件从开发服务器复制到生产服务器。
- 我可能会直接在我的生产服务器上修复一些问题。
- 我们将 svn 用于开发服务器和测试服务器,但出于安全考虑,它未用于生产服务器。我什至不确定开发人员的 promise 。
- 每次我都必须查看文件之间的差异,然后将更改复制到我的生产服务器。有时,我必须合并文件。
我能否有一些工具可以通知我生产服务器中的给定文件发生了更改,然后相应地合并/复制冲突并以优化的方式安全地部署所有更改的文件。
最佳答案
我可能会首先在本地存储部署服务器上的目录镜像,以便对其进行版本控制。使用类似 rsync 的镜像工具可以确保您在两个地方拥有相同的文件。
然后您也可以将部署服务器上的确切内容添加到 subversion 中。如果它们不适合开发/测试版本,您可以为部署版本创建一个分支,您可以在其中从主分支进行定期合并。
这种检查修改的方式变成了使用您最喜欢的 svn 工具在部署镜像上执行“svn 状态”或“检查修改”,然后您可以轻松地 checkin 更改。
需要回放到开发/测试阶段的东西显然需要从你的部署分支合并回主分支。
关于svn - 用于将更改的文件部署到生产 Web 服务器的工具,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12072695/