tok*_*olt 59 chef-infra berkshelf berksfile
使用'cookbook'将烹饪书添加到Berksfile并使用'depends'将cookbook添加到metadata.rb之间有什么区别?例如,如果我添加到metadata.rb
depends 'nginx'
Run Code Online (Sandbox Code Playgroud)
我需要使用它将它添加到Berksfile吗?
cookbook 'nginx'
Run Code Online (Sandbox Code Playgroud)
?
Nil*_*ndt 75
Berksfile特定于Berkshelf,而元数据文件内置于Chef中.
将依赖项添加到元数据文件允许其他应用程序(如librarian-chef或超市)也可以读取您的依赖项.
请注意,只要您将metadata行添加到Berksfile中,Berkshelf也会从元数据中读取依赖项.
我强烈建议在元数据文件中指定所有依赖项,并使用Berksfile指向存储特定cookbook的位置(如果它们在超市中不可用(如Github或本地路径)).
小智 16
Berksfile和metadata.rb有不同的目的来解决,并在食谱生命周期的不同阶段出现.
Berksfile用于烹饪书的依赖管理.考虑一下我的食谱使用厨师超市的社区食谱的情况 .在这种情况下,首先我需要从超市下载该社区食谱,并将其与我自己的食谱一起上传到厨师服务器.Berksfile为您简化了此工作流程.使用单个命令(berks install),它从各自的源(可能来自git存储库或超市)下载所有依赖的cookbook(及其依赖的cookbook - 传递依赖).使用另一个命令,berks upload它将所有这些烹饪书上传到厨师服务器.您不必单独上传它们knife cookbook upload.的作用 Berksfile特别食谱生命周期结束在这里.
metadata.rb由chef-client引用,同时实际收敛节点.它使用此文件从厨师服务器下载所有必需的烹饪书(假设这些烹饪书现在可通过使用berkshelf或在厨师服务器上使用knife)到节点以成功完成厨师 - 客户端运行.
| 归档时间: |
|
| 查看次数: |
14539 次 |
| 最近记录: |