如何在测试厨房中使用角色?

时间:2016-07-28 21:27:26

标签: chef chef-recipe test-kitchen chef-zero

我无法弄清楚如何在测试厨房的运行列表中运行角色。

我为我的厨师仓库(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:

当我经营厨房时,我得到了#34;没有这样的食谱:"具有该角色的烹饪书的错误。

如何让测试厨房找到这些食谱?我尝试在我的.kitchen.yml上添加一条- cookbooks行,其中包含我工作站上所有必备食谱的路径,但这不起作用 - 我还认为我应该用berkshelf来做这个吗?

1 个答案:

答案 0 :(得分:1)

你需要告诉Test Kitchen哪里可以买到你的食谱。最简单的方法是Berkshelf(或者可能是Policyfile)。将一个Berksfile放在Kitchen配置旁边,并显示它可以获取所有食谱(超市,本地路径,厨师服务器等)。