我是 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
答案4
远程执行+配置管理工具有利于应用程序部署。盐就是一个很好的例子。