使用Puppet进行应用程序部署


10

我是Puppet的新手,虽然我多年来一直使用* nix系统,但是我从未以sysadmin或ops的身份工作。

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

Puppet是适合应用程序部署的工具吗?如果没有,您可以推荐更合适的工具吗?


3
如果您稍后再讲,那么所有答案都是好的,不要只是阅读我选择的答案。
michaeltwofish 2012年

Answers:



9

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

一些组织使用Puppet的方法是构建其部署的程序包,然后使puppet强制策略为该程序包的正确版本。由于puppet具有包含环境的概念,因此您可以使用环境分阶段进行部署(例如,dev,test,prod)。

其他组织使用puppet来安排部署,方法是使用puppet触发rsync,git checkout或一些递归文件副本(尽管速度很慢)。

还有其他一些非常好的工具可供部署。我过去曾经使用过威士忌盘(一种简单的红宝石工具),并且非常喜欢它。

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


谢谢。部署到两个平衡服务器,当前使用手动rsync。
michaeltwofish 2012年


4

我认为Puppet不是部署应用程序的合适工具。

我使用Jenkins构建和部署我们的代码以进行测试和登台。

Jenkins最初是一个持续集成服务器,但实际上是灵活的和模块化的。Jenkins有很多插件可以帮助您部署应用程序:

对于我们的应用程序,我已经用SSH发布配置了Jenkins,它将成功构建的WAR文件复制到目标服务器,然后执行脚本进行备份和部署。希望这可以帮助!


我们正在使用Jenkins for CI,因此,这绝对是一个有趣的探索选项,谢谢。
michaeltwofish 2012年


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.