Шеф-повар "поваренная книга" в Berksfile vs "зависит" в метаданных.рубидий


какая разница между добавлением кулинарные книги для Berksfile используя 'кулинарная книга', и добавление кулинарные книги с метаданными.rb с помощью "зависит"? Например, если я добавляю в метаданные.РБ

depends 'nginx'

мне нужно добавить его в Berksfile с помощью

cookbook 'nginx'

?

2 55

2 ответа:

в Berksfile является Berkshelf конкретными, в то время как файл метаданных, встроенных в шеф-повара.

добавление зависимостей в файл метаданных позволяет другим приложениям, таким как librarian-chef или супермаркет, также читать ваши зависимости.

обратите внимание, что Berkshelf также считывает зависимости из метаданных, если вы добавляете metadata строка в файл Berksfile.

Я настоятельно рекомендую указать все зависимости в файле метаданных и использовать Berksfile указывает, где хранятся определенные кулинарные книги, если они недоступны в супермаркете (например, Github или локальный путь).

Berksfile и метаданные.РБ имеют различные цели для решения и приходит в картину на разных этапах жизненного цикла поваренной книги.

  1. Berksfile для управления зависимостями для поваренных книг. Рассмотрим случай, когда моя поваренная книга использует поваренную книгу сообщества от супермаркет шеф-повара. В этом случае сначала мне нужно загрузить эту поваренную книгу сообщества из супермаркета и загрузить ее вместе с моей собственной поваренной книгой шеф-повару сервер. Berksfile упрощает этот рабочий процесс для вас. С помощью одной команды (berks install), он загружает все зависимые поваренные книги (и их зависимые поваренные книги-транзитивные зависимости) из своих соответствующих источников (может быть из репозитория git или из супермаркета). С помощью еще одной команды berks upload он загружает все эти поваренные книги на сервер шеф-повара. Вы не должны загружать их по отдельности с knife cookbook upload. Роль Berksfile в частности поваренные книги жизненного цикла заканчивается здесь.

  2. метаданные.РБ называется шеф-повар-клиент, а на самом деле сходящихся в узле. Он использует этот файл для загрузки всех необходимых поваренных книг с сервера chef (при условии, что эти поваренные книги теперь доступны на сервере chef с помощью berkshelf или knife) к узлу, чтобы успешно завершить запуск chef-client.