Как указать путь поваренной книги в файле.kitchen.yml?

Мои кулинарные книги шеф-повара хранятся в папке chef/cookbooks/. При беге kitchen converge Я все еще получаю уведомление

Berksfile, Cheffile, cookbooks/, or metadata.rb not found so Chef will run with effectively no cookbooks. Is this intended?

Я перепробовал много вариантов, например:

suites:
  - name: default
    run_list: recipe[git]
    cookbook_path: "chef/cookbooks"

но я не могу найти правильное решение. Как указать пути и роли поваренных книг?

3 ответа

Вы захотите поместить путь в ваш berksfile, который, скорее всего, будет выглядеть так...

source 'https://supermarket.chef.io'
cookbook 'cookbookname', path: 'relative/or/absolute/path/to/cookbook/directory'

Файл berksfile также используется шеф-поваром при развертывании кода, поэтому он помогает, если ваша относительная файловая структура на вашем компьютере такая же, как и на вашем сервере chef (т. Е. Все кулинарные книги имеют общий каталог, поэтому ваш berksfile может использовать путь '../cookbookname')

Вы хотите установить его в разделе инициатора:

provisioner:
  name: chef_zero
  require_chef_omnibus: 11.12.2
  cookbook_path: whatever/path/to/cookbooks

Настройте Berksfile верхнего уровня, где у вас есть файл.kitchen.yml, содержащий ссылку на поваренные книги, которые вы тестируете. Каждая кулинарная книга объявляет свои зависимости и berks install на верхнем уровне убедитесь, что у вас все установлено.

(Я только что столкнулся с той же проблемой, начиная с chefdk 0.4).

Другие вопросы по тегам