显然,有两种策略用于部署Web应用程序。如果我错了,请纠正我。
我有自己的构建,部署脚本。我用git作为vcs。部署脚本将从git存储库中提取代码,构建脚本将配置应用程序。
优点
我在我的旧项目中使用了这个方法,我使用rsync来推送代码。我从本地机器上推了一份副本,但我们仍然使用了vcs。
赞成
缺点
我检查了一些提供这两种策略的工具。 (http://capifony.org/)
提前致谢。
答案 0 :(得分:1)
完全控制,灵活,因为我不必将代码推送到vcs
这对我来说不是一件好事。您将使用VCS进行更多控制,而不是使用VCS。我通常会在开发和功能分支旁边创建一个生产分支,这样生产服务器就可以只下载我故意放入生产分支的代码。
此外,如果您遇到生产代码突然中断的问题,如果您使用的是VCS,则应该能够在找出代码出错的同时回滚到工作版本。对我而言,这是使用Pull部署的最有益方面之一。
如果您使用像Jenkins这样的持续集成工具,您可以定期检查VCS中特定分支的更改,并让Jenkins自动为您拉动和构建项目,而无需任何人需要登录到生产服务器他们自己。这使部署变得像在存储库中更新代码一样简单。
安全问题作为每个应用程序服务器中的ssh密钥
根据托管代码的位置,您可以设置仅部署密钥。这就是Bitbucket的设置方式,因此我们的生产服务器只能拉代码,而不是推送。此外,如果其中一台服务器遭到入侵,我们可以轻松地将我们存储库上的访问权限撤销到该特定密钥。