Как указать путь поваренной книги в файле.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).