кулинарная книга шеф-повара со встроенными ролями

StackOverflow https://stackoverflow.com//questions/12651287

  •  11-12-2019
  •  | 
  •  

Вопрос

Я создал кулинарную книгу шеф-повара, которая во многом зависит от других кулинарных книг.Моя главная проблема сейчас в том, что рецепты из других кулинарных книг выполняются в случайном порядке.Если я укажу выполнение этих рецептов в бродячем файле, например:

chef.add_recipe "gitlab::core_prereq"
chef.add_recipe "postfix"
chef.add_recipe "gitlab::users_prereq"
chef.add_recipe "rvm::vagrant"
chef.add_recipe "rvm::system"
chef.add_recipe "ohai"
chef.add_recipe "nginx"
chef.add_recipe "gitlab::python_tools_prereq"
chef.add_recipe "gitlab::gitolite_prereq"
chef.add_recipe "gitlab::gitlab_install"

Все работает нормально, но мне бы хотелось включить эту спецификацию в рецепт, чтобы пользователю просто нужно было включить рецепт по умолчанию и установить все необходимое в правильном порядке.

Как я могу это решить?Должен ли я использовать роль?Я не получаю этого из документов шеф-повара, если роль может быть указана в рецепте.

Это было полезно?

Решение

Я думаю не все ваши рецепты можно установить на чистую машину.Но они должны быть.Если какой-то рецепт «А» имеет некоторые предварительные требования, вам следует добавить эти необходимые рецепты в рецепт «А», используя include_recipe.

В твоем случае я думаю, что gitlab::gitlab_install требует gitlab::gitolite_prereq и gitlab::python_tools_prereq.Это означает, что вам следует добавить к вашему cookbooks/gitlab/recipes/gitlab_install.rb:

incude_recipe 'gitlab::gitolite_prereq'
incude_recipe 'gitlab::python_tools_prereq'

Таким образом вы также можете включать рецепты из других кулинарных книг.Например охай требует рвм::система.добавить в cookbooks/ohai/recipes/default.rb:

incude_recipe 'rvm::system'

и добавить в cookbooks/ohai/metadata.rb:

depends 'rvm'

Таким образом, вам не придется писать все рецепты в каком-то точном порядке, и вам не придется писать все зависимости, они будут установлены автоматически.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top