2016-05-03 89 views
0

我有兩個食譜「用戶」和「nginx」。第一個cookbook爲系統創建用戶和文件夾,第二個cookbook爲創建的目錄的配置安裝nginx。include_recipe不適用於測試廚房

在kitchen.yml文件我加了 「用戶:默認情況下」 運行列表:

--- 
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" 

但它不包括「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

當我在berksfile使用路徑,因此解決:

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

metadata 

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

這意味着,用戶使用在食譜給定的路徑,而不是使用源URL

1

include_recipe只會運行一個給定的配方,所以它不能同時在運行列表中直接運行並通過include_recipe運行。它應該仍然顯示在輸出,但pastebin你的users/recipes/default.rb

相關問題