Как использовать рукописные кулинарные книги при использовании berkshelf в шеф-поваре?

Я использую бродячего + шеф-повара. Мои поваренные книги поваров отлично работали. Затем я установил плагин vagrant-berkshelf, и с этого момента я не мог использовать собственные кулинарные книги. Berkshelf переопределяет каталог кулинарных книг, и шеф-повар не видит мои поваренные книги, когда я их использую. Моя конфигурация такова:

config.berkshelf.enabled = true

config.vm.provision :chef_solo do |chef|
   chef.add_recipe "qbaka-frontend"
end

С этой конфигурацией шеф-повар работает только с кулинарами, указанными в Berksfile, но не может видеть мои кулинарные книги в каталоге cookbooks.

Как я могу работать одновременно с моими и кулинарными книгами Беркшельфа?

Ответы

Ответ 1

Плагин vagrant-berkshelf и Berkshelf в целом очень поваренная книга. Шеф-повар, однако, ориентирован на кулинарию-репо. Установка плагина vagrant-berkshelf позволяет использовать подход, ориентированный на использование поваренной книги, рассматривая каждую кулинарную книгу как свой собственный программный проект.

Вам нужно добавить каждую из кулинарных книг в каталог cookbooks в свой Berksfile. Здесь есть несколько подходов:

  • Если вам нужна только одна или две кулинарные книги, просто добавьте их, используя местоположение пути Berkshelf:

    cookbook 'bacon', path: '~/cookbooks/bacon'
    
  • Если вы хотите все свои кулинарные книги, вы можете использовать Ruby здесь. Малоизвестный секрет заключается в том, что Berksfile исполняется как Ruby, поэтому вы можете зацикливаться и быть волшебным:

    Dir['/Users/sethvargo/cookbooks/**'].each do |path|
      cookbook File.basename(path), path: path
    end
    

    Это загрузит каждую поваренную книгу в этом каталоге в ваш Berksfile (и, следовательно, Berkshelf)

Источники:

  • Я являюсь основным участником проекта Berkshelf.
  • Я работал на шеф-повара во время этого сообщения:)

Ответ 2

Вы должны указать путь к вашим кулинарным книгам в Berksfile.

 cookbook "artifact", path: "/Users/reset/code/artifact-cookbook"

Смотрите здесь: http://berkshelf.com/#path_location