2016-01-15 90 views
0

我目前在遷移的過程中我們組織的kitchenBerkshelf遷移到Berkshelf

SETUP

我們使用git submodules保持在cookbooks目錄的vendor cookbooks。我們的custom cookbookssite-cookbooks

我擺脫了所有的submodulescookbooks dir,並創建了一個Berksfile與我們的自定義食譜。我在Berksfile設置ENV['BERKSHELF_PATH']cookbooks目錄,以包含供應商的食譜在一個地方,添加食譜DIR到.gitignore

當我執行Berks install供應商食譜安裝在食譜目錄中作爲cookbook_name-version

問題

當我運行chef-solo運行定製的食譜,廚師運行失敗在這要麼template資源或cookbook_file資源失敗,因爲廚師是無法找到模板或文件的供應商食譜食譜files目錄或templates目錄,即使它們存在的菜譜。

重命名供應商食譜從發言權apt-2.7.0作爲安裝由berkshelf只是apt而不version number和添加賣主食譜到Berksfile如例如cookbook 'apt', path: './cookbooks/apt'解決該問題。

不過老實說,我認爲,我在錯誤的方向正在抽穗這不應該是這樣的。

回答

1

你不想設置BERKSHELF_PATH,那就是爲Berkshelf內部跟蹤目錄,應該幾乎從未被觸及。作爲供應過程的一部分,廚房將爲您自動處理運行berks vendor

+0

感謝您的幫助。是。它確實有效。我正在設置berkshelf的食譜安裝路徑,並使用它來運行內部的食譜。我解開了berkshelf的路徑,「berks vendor」做到了! – puneeth