簡體   English   中英

缺少廚師廚房的食譜

[英]Missing Cookbooks with chef kitchen

嘗試使用廚師設置Rails應用,但出現Missing Cookbooks錯誤。

重現步驟

$ chef generate app chef_rails #create new app that will hold cookbooks for rails.
$ echo "cookbook 'ruby-ng'" >> cookbooks/chef_rails/Berksfile
$ cd cookbooks/chef_rails/
$ berks install
$ berks vendor
$ cd ../../
$ vim .kitchen.yml #add `recipe[ruby-ng::default]` to runlist
$ kitchen converge

出現以下錯誤:

缺少食譜:------------------沒有這樣的食譜:ruby-ng

  Expanded Run List: ------------------ * chef_rails::default * ruby-ng::default 

為此,我在stackoverflow上搜索了現有的答案,並認為,如果我移動供應的食譜,廚師就能找到它們

$ mv cookbooks/chef_rails/berks-cookbooks/* cookbooks
$ ls cookbooks                                                                                        
apt             chef_rails      mingw           ruby-ng         windows
build-essential compat_resource ohai            seven_zip
$ kitchen converge #works flawlessly
$ kitchen list                                                                                       
Instance             Driver   Provisioner  Verifier  Transport  Last Action  Last Error
default-ubuntu-1404  Vagrant  ChefZero     Inspec    Ssh        Converged    <None>

這是我正在使用的版本:

$ chef --version                                                                                      
Chef Development Kit Version: 1.1.16
chef-client version: 12.17.44
delivery version: master (83358fb62c0f711c70ad5a81030a6cae4017f103)
berks version: 5.2.0
kitchen version: 1.14.2

問題

  1. 我能夠解決該錯誤,但是我不明白為什么會發生此錯誤。我認為這與chef_repo_path有關,但我並不太了解。 那么是否可以解釋或指向相關文檔?
  2. 我應該將菜譜./cookbooks而不是./cookbooks/chef_rails/berks-cookbooks/ 如果是,那么我如何讓berks vendor這樣做?
  3. 開發后,用於上傳到github。 回購中是否還應包括供應商提供的食譜? 計划將這些食譜與Chef Server一起使用以設置Rails服務器。

有幾個問題:首先,如@StephenKing所說,您需要在.kitchen.yml旁邊Berksfile ,然后還需要從該文件夾運行kitchen命令。 其次,您不需要(也不希望)使用berks vendor ,因為Test Kitchen有自己的Berkshelf支持,當您在正確的位置放置Berksfile時,該支持會自動激活。

.kitchen.yml文件應放在Cookbook目錄中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM