我正在尝试使用AWS cookbook和Berkshelf模拟Vagrant上的Opsworks部署。 引自AWS doc here -
对于Chef 11.10堆栈,在AWS OpsWorks安装内置,自定义和Berkshelf烹饪书之后,它按以下顺序将它们合并到一个公共目录:
- 内置食谱。
- Berkshelf食谱,如果有的话。
- 自定义食谱,如果有的话。
醇>当AWS OpsWorks执行此合并时,它会复制目录的全部内容,包括配方。如果有任何重复,则适用以下规则:
- Berkshelf食谱的内容优先于内置食谱。
- 自定义食谱的内容优先于Berkshelf食谱。
为了说明此过程的工作原理,请考虑以下场景,其中所有三个cookbook目录都包含名为mycookbook的食谱:
- 内置cookbook - mycookbook包含名为someattributes.rb的属性文件,名为sometemplate.erb的模板文件以及名为somerecipe.rb的食谱。
- Berkshelf cookbooks - mycookbook包括sometemplate.erb和somerecipe.rb。
- 自定义食谱 - mycookbook包含somerecipe.rb。
合并的食谱包含以下内容:
- 来自内置菜谱的someattributes.rb。
- 来自Berkshelf食谱的sometemplate.erb。
- 来自自定义食谱的somerecipe.rb。
现在,有没有一种干净的方式在当地流浪汉这样做? Berkshelf还是其他? 人们遵循什么目录结构以及在本地测试时如何合并?