5
我想測試一個食譜取決於其他三個本地食譜。我的目錄結構是這樣的:測試廚房不會參考當地的食譜
/cookbooks/
cookbook_test/
recipes
templates
metadata.rb
cookbook_dep1/
cookbook_dep2/
cookbook_dep3/
的食譜,我試圖測試(cookbook_test)我的元數據文件只是有一個像提到的其他三種食譜依賴:運行時kitchen converge default-ubuntu-1204
depends cookbook_dep1
depends cookbook_dep2
depends cookbook_dep3
然而我得到以下內容:
[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。是否沒有其他方式僅僅使用測試廚房來參考本地食譜?
我看不出如何工作。根據opscode,主存儲庫應該充當所有食譜,角色,數據庫和環境代碼的容器。 https://github.com/opscode/chef-repo更好地解釋了這一點。 我所有的食譜都包含在一個存儲庫中,該存儲庫遵循opscode定義的結構。 您建議將.kitchen.yml文件放入存儲庫的底部,併爲我需要運行的每種類型的融合(=使用它自己的運行列表添加kitchen.yml套件)編寫不同的廚房套件? – keftes
幾年來的趨勢是將烹飪書作爲單獨的軟件項目和知識庫進行處理。即使Chef(之前稱爲Opscode)很早以前就已經將其單獨的[cookbooks repo](https://github.com/opscode/cookbooks)分爲[單獨的](https://github.com/opscode-cookbooks)。如今,「Chef repo」只包含角色等等。 YMMV,但測試廚房的總體思路是一次幫助* one * cookbook進行集成測試,並使用一些依賴管理器來獲取其他食譜。 – tmatilai
看起來我們可能不得不重構我們的項目結構。謝謝。 – keftes