首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Berksfile文件中的厨师“食谱”与metadata.rb中的“依赖”

Berksfile文件中的厨师“食谱”与metadata.rb中的“依赖”
EN

Stack Overflow用户
提问于 2014-08-17 02:20:49
回答 3查看 17.8K关注 0票数 62

使用'cookbook‘将食谱添加到metadata.rb文件和使用'depends’将食谱添加到Berksfile文件有什么不同?例如,如果我添加到metadata.rb

代码语言:javascript
复制
depends 'nginx'

我是否需要使用以下命令将其添加到Berksfile

代码语言:javascript
复制
cookbook 'nginx'
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-08-17 02:37:22

Berkshelf文件是特定于伯克架的,而元数据文件内置于Chef中。

将您的依赖项添加到元数据文件中,允许其他应用程序也读取您的依赖项。

请注意,只要您将metadata行添加到reads文件中,Berksfile也会从元数据中读取依赖项。

我强烈建议在元数据文件中指定所有依赖项,如果超市中没有特定的食谱(如Github或本地路径),请使用where文件来指出它们的存储位置。

票数 78
EN

Stack Overflow用户

发布于 2016-03-31 18:33:58

在食谱生命周期的不同阶段,Berksfile和metadata.rb有不同的目的需要解决。

  1. Berksfile用于对食谱进行依赖管理。考虑我的食谱使用来自chef supermarket的社区食谱的情况。在这种情况下,首先我需要从超市下载社区食谱,并将其与我自己食谱一起上传到chef服务器。Berksfile为您简化了此工作流程。只需一条命令(berks install),它就可以从各自的源(可能来自git存储库或超市)下载所有依赖的食谱(以及它们的依赖的食谱--传递依赖)。使用另一个命令berks upload,它将所有这些食谱上传到chef服务器。您不必使用knife cookbook upload单独上传它们。的角色here.
  2. metadata.rb文件,特别是食谱生命周期结束的时候,chef-client在实际收敛节点时引用here.
  3. metadata.rb。它使用此文件从chef服务器下载所有必需的食谱(假设这些食谱现在可以通过使用berkshelfknife在chef服务器上使用)到节点,以成功完成chef-client运行。
票数 19
EN

Stack Overflow用户

发布于 2020-06-16 02:06:21

你不需要在这两个文件中声明依赖关系,@Kamil在metadata.rb中声明你的依赖关系,并在berksfile中提供你的本地内部超市或厨师超市,它会为你下载依赖关系。

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

https://stackoverflow.com/questions/25342587

复制
相关文章

相似问题

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