部署更改后的文件到生产Web服务器的工具

3
我的系统基于LAMP技术栈,我有两个同步的应用服务器。如何最好地将更改后的文件部署到我的两个生产服务器上?
当前情况是:
- 有时我使用我的暂存服务器,有时如果不需要,我直接将文件从开发服务器复制到生产服务器。 - 我可能会在生产服务器上直接修补一些问题。 - 我们在开发服务器和测试服务器上使用svn,但由于安全问题,它不用于生产服务器。我甚至不确定开发人员是否提交了代码。 - 每次我都必须查看文件之间的差异,然后将更改复制到我的生产服务器。有时,我还必须合并文件。
我能否拥有一些工具,可以通知我生产服务器中给定文件的更改情况,并相应地合并/复制冲突,并以优化的方式安全地部署所有更改后的文件?
1个回答

0

我可能会从在部署服务器上本地存储的目录镜像开始,以便进行版本控制。使用像rsync这样的镜像工具可以确保两个位置上有相同的文件。

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

这样,检查修改就变成了在部署镜像上使用您喜欢的svn工具执行“svn status”或“检查修改”,然后您可以轻松地提交更改。

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


感谢@centic的回答。目前我的开发服务器和测试服务器是镜像的。我还有一些配置文件不想部署到生产服务器上。如果我在代码库中添加生产服务器,如何阻止这些文件传输到生产服务器? - Tanu Gupta
我会在单独的分支上删除它们以进行部署,并在以后的合并中排除它们。由于您使用单独的分支,因此可以将这些差异保留在其中,同时仍能够成功地在两个方向上合并其他更改。 - centic

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接