2016-07-28 101 views
1

我不知道如何在測試廚房的運行列表中運行角色。如何在測試廚房中使用角色?

我做了knife download roles給了我的廚師長倉庫(C:\.chef\roles)。

我還做了一個knife download cookbooksc:\.chef\cookbooks

這裏是一個食譜我想測試.kitchen.yml我打算與一個特定的角色運行(C:\.chef\cookbooks\mybook\.kitchen.yml):

--- 
driver: 
    name: hyperv 
    parent_vhd_folder: c:\HyperV\VHDs\ 
    parent_vhd_name: 2012R2_Fresh_Gen1.vhdx 
    vm_switch: NAT 
    memory_startup_bytes: 2GB 

provisioner: 
    name: chef_zero 
    roles_path: c:\.chef\roles 

transport: 
    password: pass123 

platforms: 
    - name: windows-2012r2 

suites: 
    - name: default 
    run_list: 
     - role[myrole] 
    attributes: 

當我運行一個廚房收斂我得到「沒有這樣的食譜:」錯誤的食譜是在那個角色。

如何獲得測試廚房來查找這些食譜?我嘗試在我的工作站上添加一條- cookbooks行到我的.kitchen.yml所有必要的烹飪書的路徑,但這不起作用 - 我還認爲我應該用berkshelf來做這個工作?

+0

你在使用Berkshelf嗎? – StephenKing

+0

這有幫助嗎? http://stackoverflow.com/questions/29812546/testing-chef-roles-and-environments/29860876#29860876 –

回答

1

你需要告訴測試廚房從哪裏得到你的食譜。最簡單的方法是Berkshelf(或者一個Policyfile)。把一個Berksfile放在Kitchen配置旁邊,並顯示它從哪裏得到所有食譜(超市,本地路徑,廚師服務器等)。

+0

我可以把我的cookbooks路徑放在berksfile中嗎?我只能看到在berksfile中指定單個食譜的例子。 – red888

+0

使用循環:'Dir [File.expand_path('../ cookbooks/*',__FILE __)]。each {| path |食譜File.basename(路徑),路徑:路徑}'或類似取決於您的佈局。 – coderanger

+0

嗯我把它放在Berkshelf文件中,我在食譜中,但我仍然沒有這樣的食譜 – red888

相關問題