显然,有两种策略用于部署 Web 应用程序。如果我错了,请纠正我。
拉取部署
我有自己的构建、部署脚本。我使用 git 作为 vcs。部署脚本将从 git 存储库中提取代码,构建脚本将配置应用程序。
优点
- 简易安装。
- 更好的可扩展性(因为我的 ssh 密钥驻留在服务器中,它可以联系我们的 vcs 服务器)。因此,即使我们的应用程序服务器增长,我们也不必费心。
缺点
- 每个应用程序服务器中作为 ssh 密钥的安全问题。
推送部署
我在我的旧项目中使用了这种方法,在那里我使用 rsync 来推送代码。我从本地机器推送了一份副本,但我们仍然使用了 vcs。
优点
- 完全控制,灵活性,因为我不必将代码推送到 vcs。
缺点
- 没有更好的可扩展性。
我检查了一些提供两种策略的工具。( http://capifony.org/ )
问题
- 对于大型项目,你们如何处理这个问题?(用php构建)。
- 有没有更好的策略?
- 这两者之间哪个更好?
- 如果负载均衡器下有很多应用服务器怎么办?push 在这里有意义吗?
提前致谢。