Chef infra Berkself不下载git中cookbook的依赖项

Chef infra Berkself不下载git中cookbook的依赖项,chef-infra,berkshelf,Chef Infra,Berkshelf,我有三本食谱“A”、“B”和“C”。每本食谱都有自己的回购协议 Cookbook“B”依赖于“A”,我有Cookbook“A”Berksfile的条目,其源设置为repo url Cookbook“C”依赖于“B”,我有Cookbook“B”Berksfile的条目,其源设置为repo url 然而,在cookbook'C的Berksfile上运行BerksVendor时,我发现BerksShelf没有下载cookbook'A' 这里我做错了什么烹饪书的依赖项应该列在烹饪书的metadata.r

我有三本食谱“A”、“B”和“C”。每本食谱都有自己的回购协议

Cookbook“B”依赖于“A”,我有Cookbook“A”Berksfile的条目,其源设置为repo url

Cookbook“C”依赖于“B”,我有Cookbook“B”Berksfile的条目,其源设置为repo url

然而,在cookbook'C的Berksfile上运行
BerksVendor
时,我发现BerksShelf没有下载cookbook'A'


这里我做错了什么

烹饪书的依赖项应该列在烹饪书的
metadata.rb
文件中

在这里的用例中,如果cookbook A依赖于cookbook B,那么在cookbook A的
metadata.rb
文件中应该有以下行

depends 'B'
现在,来到您的Berksfile,源代码是上列出的社区食谱,除非您有自己的超市实例。对于超市中没有的烹饪书,请使用Berksfile中的“烹饪书”列出您的依赖项,如下例所示:

source 'https://supermarket.getchef.com'

metadata

cookbook 'B', git:'http://<your_domain>/project/B', tag: 'some_tag'
源代码'https://supermarket.getchef.com'
元数据
食谱“B”,吉特:'http:///project/B'标记:'一些标签'

Berkshelf根据烹饪书的
元数据中列出的依赖项处理烹饪书依赖项。rb

Berkshelf仅使用本地Berksfile。烹饪书“C”的Berksfile应该包含烹饪书“A”和“B”的GIT URL。通过这种方式,它将知道从何处获取与元数据文件中发现的依赖项声明相关联的cookbook代码