2016-05-03 4 views
0

"users"と "nginx"という2つの料理本があります。最初のcookbookはシステム用のユーザーとフォルダを作成し、2番目のcookbookは作成されたディレクトリの設定用のnginxをインストールします。 kitchen.ymlファイルでテストキッチンではinclude_recipeが動作しません

私は "ユーザー:デフォルトの" 追加のリストを実行する:

--- 
driver: 
    name: vagrant 

provisioner: 
    name: chef_solo 

platforms: 
    - name: ubuntu-14.04 

suites: 
    - name: default 
    run_list: 
     - recipe[users::default] 
     - recipe[nginx::default] 

とnginxの中を::私はinclude_recipeを追加し、デフォルトのレシピ:

include_recipe "users::default" 

をしかし、それは含まれていません。 "kitchen converge"を実行すると "users :: default":

Installing Cookbook Gems: 
     Compiling Cookbooks... 
     Converging 8 resources 
     Recipe: nginx::default 
     * apt_package[curl] action install 
      - install version 7.35.0-1ubuntu2.6 of package curl 
     * apt_package[git-core] action install 
      - install version 1:1.9.1-1ubuntu0.3 of package git-core 
     * apt_package[nginx] action install 

問題は何ですか?なぜ私は別の料理本で "users :: default"レシピを実行できないのですか?

答えて

1

、それが解決される:

source 'https://supermarket.chef.io' 

metadata 

cookbook "users", path: "../../cookbooks/users" 
cookbook "swap", path: "../../cookbooks/swap" 

このことは、使用者は、代わりに、ソースURL

を使用する、指定されたパスにクックブック
1

include_recipeは、与えられたレシピを1回だけ実行するため、実行リストに直接入力することはできず、include_recipeで実行することはできません。それでも出力に表示されるはずです、あなたのusers/recipes/default.rbをペーストビンですか? iはberksfileのパスを使用する場合