Question

J'ai créé un chef de cuisine, qui a beaucoup de dépendances à d'autres livres de cuisine.Mon principal problème aujourd'hui est que les recettes provenant d'autres livres de cuisine sont exécutées dans l'ordre aléatoire.Si je spécifie l'exécution de ces recettes dans l'errance fichier comme ceci:

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"

Tout fonctionne bien, mais je voudrais avoir cette spécification dans la recette, de sorte qu'un utilisateur a juste besoin d'inclure la recette par défaut et obtient tout ce qu'il faut installé dans le bon ordre.

Comment puis-je résoudre ce problème?Dois-je utiliser un rôle?Je n'ai pas l'obtenir à partir de la chef docs, si le rôle peut être spécifié dans une recette.

Était-ce utile?

La solution

Je ne crois pas, toutes vos recettes peut être installé sur la machine propre.Mais ils devraient l'être.Si une recette "a" a certains prerequisitives, alors vous devriez ajouter que nécessaire des recettes dans la recette de "A" à l'aide de include_recipe.

Dans votre cas, je suppose que c' gitlab::gitlab_install nécessite gitlab::gitolite_prereq et gitlab::python_tools_prereq.Cela signifie que vous devriez ajouter à votre cookbooks/gitlab/recipes/gitlab_install.rb:

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

Vous pouvez également inclure les recettes provenant d'autres cookbookss de cette façon.Pour exampple ohai nécessite rvm::système de.Ajouter à cookbooks/ohai/recipes/default.rb:

incude_recipe 'rvm::system'

et d'ajouter à cookbooks/ohai/metadata.rb:

depends 'rvm'

De cette façon, vous n'aurez pas à écrire toutes les recettes dans certains exact de la commande, et vous n'avez pas à écrire toutes les dépendances, il sera installé automatiquement.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top