mpa*_*per 37 shell provisioning puppet chef-infra vagrant
我有以下设置:
我想使用Vagrant并在每个存储库中包含一个Vagrant文件,因此我的团队成员可以克隆存储库,运行vagrant up并准备就绪.
我现在的问题是针对供应问题.我需要安装几个工具和包,如apache,git,mysql和几个php包,然后下载一些文件(如最近的开发数据库转储),在/ var/www中设置所有内容并运行composer install命令.
所以这样做的一个选择是使用经理使用厨师或木偶等食谱.另一种方法是编写一个bash文件并使用shell配置.
我对主厨/木偶的经验不多,所以很自然地,使用shell选项似乎更容易,但我想知道从长远来看这是不是一个好的/可行的选择.
为什么对我来说,与木偶/厨师合作似乎是一个糟糕的方法:
我知道我将不得不使用几种不同的配方,并且几乎总是对我的不同存储库使用相同的配方,所以我必须将所有这些配方包含在所有存储库中.考虑有20个repos并需要10个食谱,这意味着我需要添加200个食谱作为git-submodule或类似(同样每个团队成员需要克隆存储库,然后克隆10个食谱存储库,然后每个都运行vagrant项目).相比之下,我只需要使用我的shell脚本创建一个小型repo并将其克隆20次.
我可能遗漏了一些东西,所以请建议我是否应该选择厨师/木偶以及为什么它有意义,即使我的存储库都有一个非常相似的服务器设置.
Mar*_*nor 25
下面的文章涉及另一个CM工具(ansible),但我认为作者在解释转换远离shell脚本的好处方面表现非常出色.
http://devopsu.com/blog/ansible-vs-shell-scripts/
引用1:
令我感到惊讶的是这些更着名的开发者的回应.他们基本上说,"这真的很酷,但我可能不会阅读它,因为我的手动安装/ shell脚本工作流现在很好."
我有点震惊,但是一旦我想到它几分钟,我意识到他们的选择是完全理智和理性的,因为他们对CM工具的了解.
引用2:
对于他们来说,使用CM工具意味着需要花费数周时间来学习复杂的概念,努力解决复杂的安装过程,并随着时间的推移维护复杂的系统.他们有点意识到这些好处,但使用CM工具的成本似乎太高而不值得付出努力.
最后总结了shell脚本的好处,我认为它们适用于所有CM工具,木偶,厨师,盐,ansible ......
希望这可以帮助.
| 归档时间: |
|
| 查看次数: |
14308 次 |
| 最近记录: |