Подтвердить что ты не робот

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

У меня есть кулинарные книги повара, хранящиеся в поварах/кулинарных книгах/папках. При запуске 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"

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

4b9b3361

Ответ 1

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

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

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

Ответ 2

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

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

Ответ 3

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

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