5

我正在尝试测试依赖于其他三本本地食谱的食谱。我的目录结构如下所示:

/cookbooks/
  cookbook_test/
    recipes 
    templates 
    metadata.rb
  cookbook_dep1/
  cookbook_dep2/
  cookbook_dep3/

我正在尝试测试的菜谱中的元数据文件(cookbook_test)只是提到了其他三个菜谱依赖项,例如:

depends cookbook_dep1
depends cookbook_dep2
depends cookbook_dep3

但是,在运行时,kitchen converge default-ubuntu-1204我得到以下信息:

[2014-03-03T18:05:13+00:00] ERROR: Cookbook cookbook_devp1 not found. If you're loading cookbook_devp1 from another cookbook, make sure you configure the dependency in your metadata       
[2014-03-03T18:05:13+00:00] FATAL: Chef::Exceptions::ChildConvergeError: Chef run process exited unsuccessfully (exit code 1)       

我在网上唯一能找到的是我应该使用 berkshelf。没有其他方法可以仅使用 test-kitchen 来引用本地食谱吗?

4

1 回答 1

5

您必须将依赖项放入 .kitchen.yml 所在目录中名为“cookbooks”(或“site-cookbooks”)的目录中。或者使用 Berkshelf 或 Librarian-Chef。

您也可以尝试将父目录符号链接到“./cookbooks”,但不确定这是否会导致某些命令的无限递归。

于 2014-03-03T20:44:55.617 回答