微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Vagrant配置shell vs puppet vs厨师

我有以下设置:

>许多不同的项目是单独的git存储库,但都具有大多相同的服务器配置
>每个项目都依赖于许多其他项目,我们使用composer依赖项管理器将它们放在一起(这里是PHP语言)。

我想使用Vagrant并在每个存储库中包含一个Vagrant文​​件,所以我的团队成员可以克隆一个存储库,运行vagrant并准备好去。

我的问题现在是针对供应。我需要安装几个工具和包,如apache,git,MysqL和几个PHP软件包,然后下载一些文件(像最近的开发数据库转储),设置一切在/ var / www并运行composer install命令。

所以一个选项是使用管理器使用像chef或puppet这样的食谱。
另一种方法是编写一个bash文件并使用shell配置。

我没有太多的厨师/木偶的经验,所以自然,它似乎更容易使用shell选项,但我想知道,如果这是不是一个好/可行的选择长期。

为什么对我来说,这是一个糟糕的方法去与木偶/厨师:

我明白,我将不得不使用几种不同的食谱,几乎总是使用相同的食谱,我的不同的存储库,所以我必须包括所有的存储库。考虑有20个repos并且需要10个配方,这意味着我需要添加200个配方作为git-submodule或类似的(每个团队成员需要克隆仓库,然后克隆10个配方仓库,然后每个都运行vagrant up项目)。相比之下,我只需要有一个小的回购与我的shell脚本和克隆它20次。

我可能缺少一些东西,所以请咨询是否我应该选择chef / puppet为什么它是有意义的,即使我的存储库都有一个非常相似的服务器设置。

下面的文章涉及另一个CM工具( ansible),但我认为作者非常出色地解释了从shell脚本转换的好处。

http://devopsu.com/blog/ansible-vs-shell-scripts/

报价1:

What really surprised me was the response from some of these more famous devs. They basically said,“This is really cool,but I probably won’t read it since my manual-install/shell-script workflow is fine for Now.”

I was a little shocked,but once I thought about it for a few minutes,I realized that their choice was perfectly sane and rational given what they knew about CM tools.

报价2:

For them,using a CM tool meant weeks of effort learning complex concepts,struggling with a complex installation process,and maintaining that complex system over time. They were somewhat aware of the benefits,but the costs of using a CM tool just seemed too high to make it worth the effort.

对shell脚本的好处总结到底,我认为它们适用于所有CM工具,木偶,厨师,盐,ansible …

>哪种方法最有可能在源代码控制中结束?
>哪些方法可以安全可靠地多次运行?
>哪些方法可以轻松地对多个服务器运行?
>哪个方法实际上验证(测试)您的服务器的正确性?
>哪种方法可以轻松地定位某些服务器(web,db等)?
>哪个方法支持轻松模板化您的配置文件
>哪种方法会成长为轻松支持你的整个堆栈?

希望这可以帮助。

原文地址:https://www.jb51.cc/bash/390398.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐