首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >"include_recipe“对Vagrantfile "chef.add_recipe”。有什么关系呢?

"include_recipe“对Vagrantfile "chef.add_recipe”。有什么关系呢?
EN

Stack Overflow用户
提问于 2013-12-03 21:11:37
回答 1查看 4.9K关注 0票数 6

刚运行nginx::来源配方在我的流浪盒,我有非常不寻常的行为。

当我包含来自Vagrantfile的菜谱(如下所示)时,一切都像魅力一样运作,

Chef.add_recipe(“项目::nginx”) chef.add_recipe("nginx::source")

(项目::nginx配方非常简单。使用它覆盖nginx食谱的默认属性)

但是,如果我在project::nginx的末尾添加了一个菜谱(上面提到过),那么一切都会分崩离析:

代码语言:javascript
复制
node.default['nginx']['server_names_hash_bucket_size'] = 128
include_recipe "nginx::source"

,直到现在,我还不知道这两个调用在行为上有什么区别。这里有人知道有什么不同吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-12-04 12:13:27

Gotya!主厨11特辑。与此有关的问题只存在于主厨独奏中:)

要快速简历,不同之处在于:

  • chef.add_recipe() -加载整个烹饪书上下文(所有文件,例如食谱、定义、属性.)
  • include_recipe "“-文件(属性、定义等)没有在已使用的运行列表中加载的。

解决这个问题的方法至少有4种(将文件放到运行列表中):

  • include_attribute -显式地包含所需的属性文件。
  • >依赖--如果您的菜谱使用的是另一本食谱,那么将该食谱放在metadata.rb的依赖部分,那么它的所有文件都将被加载。
  • chef.add_recipe() -通过Vagrantfile加载菜谱。(此处所述仅供参考)
  • 伯克格-你也可以用这个菜谱经理来解决这个问题。这是关于这个问题的Stackoverflow线程一些博士

对于那些对进一步阅读感兴趣的人,主厨11介绍了基于依赖性的非食谱文件的食谱加载。新的加载逻辑意味着将不再加载存在于cookbook_path中但不在扩展的run_list或扩展run_list中的菜谱的依赖项中的菜谱的文件。REF:Opscode破坏更改文档,如果您需要对我得到的错误签名,下面是是完全相同的,即使是出于相同的原因。

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20361738

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档