1

我正在尝试使用 AWS 食谱和 Berkshelf 在 Vagrant 上模拟 Opsworks 部署。在此处引用AWS 文档-

对于 Chef 11.10 堆栈,在 AWS OpsWorks 安装内置、自定义和 Berkshelf 说明书后,它会按以下顺序将它们合并到一个公共目录中:

  1. 内置食谱。
  2. Berkshelf 食谱,如果有的话。
  3. 定制食谱,如果有的话。

当 AWS OpsWorks 执行此合并时,它会复制目录的全部内容,包括配方。如果有任何重复,则适用以下规则:

  • Berkshelf 食谱的内容优先于内置的食谱。
  • 定制食谱的内容优先于 Berkshelf 食谱。

为了说明这个过程是如何工作的,请考虑以下场景,其中所有三个说明书目录都包含一个名为 mycookbook 的说明书:

  • 内置说明书——mycookbook 包括一个名为 someattributes.rb 的属性文件、一个名为 sometemplate.erb 的模板文件和一个名为 somerecipe.rb 的食谱。
  • Berkshelf 食谱——mycookbook 包括 sometemplate.erb 和 somerecipe.rb。
  • 定制食谱——mycookbook 包括 somerecipe.rb。

合并后的食谱包含以下内容:

  • someattributes.rb 来自内置说明书。
  • 来自 Berkshelf 食谱的 sometemplate.erb。
  • somerecipe.rb 来自自定义食谱。

现在,有没有一种干净的方法可以在当地流浪者中做到这一点?Berkshelf 还是其他?人们遵循什么目录结构以及在本地测试时如何合并?

4

1 回答 1

-1

在 Local Vagrant 上虚拟化 AWS OpsWorks 可能会有所帮助。

于 2014-12-24T08:17:52.550 回答