如何在.kitchen.yml文件中指定cookbook路径?

tsu*_*nka 15 chef-infra test-kitchen

我把厨师食谱存放在厨师/食谱/文件夹中.跑步时kitchen converge我仍然会注意到

Berksfile, Cheffile, cookbooks/, or metadata.rb not found so Chef will run with effectively no cookbooks. Is this intended?
Run Code Online (Sandbox Code Playgroud)

我尝试了很多选项,例如:

suites:
  - name: default
    run_list: recipe[git]
    cookbook_path: "chef/cookbooks"
Run Code Online (Sandbox Code Playgroud)

但我找不到合适的解决方案.如何指定烹饪书和角色的路径?

Jac*_*nce 15

你会想把路径放在你的berks文件中,这可能最终看起来像这样.

source 'https://supermarket.chef.io'
cookbook 'cookbookname', path: 'relative/or/absolute/path/to/cookbook/directory'
Run Code Online (Sandbox Code Playgroud)

当您部署代码时,厨师也会使用berksfile,因此如果您的机器上的相对文件结构与您的厨师服务器上的相关文件结构相同(即所有cookbook共享一个目录,那么您的berksfile可以使用路径'../cookbookname')


set*_*rgo 3

您想在配置程序部分中设置它:

provisioner:
  name: chef_zero
  require_chef_omnibus: 11.12.2
  cookbook_path: whatever/path/to/cookbooks
Run Code Online (Sandbox Code Playgroud)

  • 如果您正在使用 Berkshelf 为什么不直接把它放在那里呢。将这样的行添加到您的“Berksfile”中:“cookbook 'name', path: '/local/path/to/cookbook'` (2认同)