使用 Puppet 部署应用程序

使用 Puppet 部署应用程序

我是 Puppet 的新手,虽然我已经使用 *nix 系统很多年了,但我从未担任过系统管理员或操作人员。

我目前正在编写 Puppet 清单,用于托管一组(PHP/MySQL/MongoDB,代码在 git 中)Web 应用程序。显然,Puppet 需要了解实际应用程序,因为我将为每个应用程序设置一个虚拟主机,但我不确定 Puppet 是否应该管理代码部署和数据库创建等事务。

Puppet 是适合部署应用程序的工具吗?如果不是,您能推荐一个更合适的工具吗?

答案1

我会调查卡皮斯特拉诺或者织物用于部署..

使用这两个工具,您可以更好地控制部署的方式。

答案2

许多大型组织都使用 Puppet 进行部署,但它并不总是完美的。这在很大程度上取决于您的部署方法。您是否一次部署到许多机器?您是否进行滚动部署?

一些组织使用 Puppet 的方式是构建部署包,然后让 Puppet 强制执行策略,以确保该包的版本正确。由于 Puppet 包含环境的概念,因此您可以使用环境分阶段进行部署(例如开发、测试、生产)。

其他组织使用 puppet 来协调部署,通过启动 rsync、git checkout 或使用 puppet 进行一些递归文件复制(尽管这相当慢)。

还有其他相当不错的工具可用于部署。我以前用过 Whiskey Disk(一个简单的 ruby​​ 工具),非常喜欢它。

(免责声明,我在 Puppet Labs 工作)

答案3

如果你想从你的应用程序中构建一个包,你可以研究一下纤维增强塑料. 代码已打开GitHub

答案4

远程执行+配置管理工具有利于应用程序部署。盐就是一个很好的例子

相关内容