Berkshelf不会在git中下载cookbook的依赖项

时间:2015-03-04 19:32:15

标签: chef berkshelf

我有三本烹饪书' A'' B'和' C'。每本烹饪书都存在于它自己的回购中。

Cookbook' B'取决于' A'我有食谱和A' Berksfile,源设置为repo url

Cookbook' C'取决于' B'我有食谱和B' Berksfile,源设置为repo url

然而,当在Berksfile上运行berks vendor食谱' C'时,我发现berkshelf并没有下载食谱' A'

我在这里做错了什么

1 个答案:

答案 0 :(得分:2)

您的食谱的依赖关系应该列在食谱的metadata.rb文件中。

在您的用例中,如果食谱A依赖于食谱B,您应该在食谱A的metadata.rb文件中包含以下行。

depends 'B'

现在,来到您的Berksfile,来源是supermarket上列出的社区食谱,除非您有自己的超市实例站在某处。对于不在超市的食谱,请使用" cookbook"在您的Berksfile中列出您的依赖项,如下例所示:

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

metadata

cookbook 'B', git:'http://<your_domain>/project/B', tag: 'some_tag'

Berkshelf根据您的食谱metadata.rb中列出的依赖关系来处理食谱依赖关系。