【发布时间】:2016-03-14 19:07:11
【问题描述】:
我花了很多时间试图为应用程序部署找到一个完全稳定的解决方案(在我的例子中是php)。有一个lot ofSOanswers,其中提出了phing / capistrano / hudson,但这样的提议让我觉得伤心。
我们的想法是为所有环境(如 dev、prod、test 等)提供一个包含所有配置的魔术盒,以便在裸 linux 机器 (VPS) 上简单地键入 magicbox deploy --env prod 以完全部署一个应用,包括:
- 配置 nginx/apache
- 使用所有依赖项和模块配置 php
- 为 mysql 配置所需的用户和数据库
- 已配置的搜索引擎(如 Sphinx、ElasticSearch)
- 一个管理已安装box的系统,例如使soft / hard重新启动(不丢失/丢失持久数据)
我受到 Vagrant / Docker 的启发,因为它们看起来与我正在寻找的非常相似,但很多人都说它们是 not ready @ 987654325@in production。此外,我是虚拟化的涉足者,我不清楚 Docker 是如何工作的,使用 Docker 对机器性能意味着什么以及是否可以将它与 任何 VPS 提供商一起使用。
非常感谢您分享您的经验。
【问题讨论】:
-
如果您想以最少的学习曲线部署完整的服务器/应用程序,只需使用 Heroku 或 EngineYard 之类的主机。从头开始自己设置服务器并部署您的应用程序......这很复杂。没有灵丹妙药。
-
@jszobody 谢谢。很明显,我可以使用云基础设施提供商。但是在某些情况下,我有一个 VPS 和代码,我需要自己自动化部署。此外,云提供商并没有解决在本地部署所需内容或进行测试的问题(在我们公司,我们在自己的机器上运行测试)。我相信一定有解决办法。
标签: php deployment docker continuous-integration virtualization