Chef "livre de recettes" dans Berksfile vs 'dépend' dans les métadonnées.rb
Quelle est la différence entre l'ajout de livres de cuisine à Berksfile à l'aide de "livre de recettes" et en ajoutant des livres de cuisine pour les métadonnées.rb à l'aide de 'dépend'? Par exemple, si j'ajoute les métadonnées.rb
depends 'nginx'
dois-je l'ajouter à Berksfile à l'aide de
cookbook 'nginx'
?
Vous devez vous connecter pour publier un commentaire.
La Berksfile est Berkshelf spécifiques, tandis que le fichier de métadonnées est construit en Chef.
L'ajout de vos dépendances dans le fichier de métadonnées permet à d'autres applications, comme bibliothécaire en chef ou au supermarché, à lire vos dépendances ainsi.
Noter que Berkshelf lit les dépendances à partir de métadonnées, ainsi, aussi longtemps que vous ajoutez le
metadata
ligne à la Berksfile.Je recommande fortement la spécification de toutes les dépendances dans votre fichier de métadonnées, et à l'aide de votre Berksfile à point à des livres de recettes sont enregistrées que si elles ne sont pas disponibles dans les supermarchés (comme Github, ou un chemin d'accès local).
depends 'nginx'
dans les métadonnées.rb. Mais au cas où "nginx" est situé à un autre endroit (par exemple, Github), j'ai besoin aussi d'ajoutercookbook 'nginx', github: <nginx-url-repo>
. Est-il juste?source_url
dans métadonnées.rb est juste un lien vers le code source d'un livre de recettes, pas une URL à partir de laquelle le Chef télécharge le livre lui-même. En d'autres termes, le Chef lui-même (sans Berkshelf ou quelque chose de similaire) ne résout pas le livre de cuisine des dépendances; toutes les dépendances sont supposés être installé sur votre serveur ou disponible à partir de l'officiel en Chef de Supermarché. Vous pouvez exécuter votre propre Supermarché serveur mais sinon Berkshelf ou similaire est nécessaire pour l'utilisation de livres de cuisine à partir d'autres endroits.source :chef_server
dans le Berksfile fait le tourBerksfile et les métadonnées.rb ont des objectifs différents à résoudre et vient dans l'image à différents stades de livre de cuisine du cycle de vie.
Berksfile est pour la gestion de la dépendance pour les livres de cuisine. Prenons le cas où mon livre de cuisine est à l'aide d'un livre de recettes de la communauté de le chef de supermarché. Dans ce cas, je dois d'abord télécharger la communauté du livre de cuisine de supermarché et de la charger avec mon propre livre de cuisine de chef server. Berksfile simplifie le flux de travail pour vous. Avec une seule commande (
berks install
), il télécharge tous dépendants les livres de cuisine (et de leurs dépendants des livres de cuisine -- dépendances transitives) à partir de leurs sources respectives (peut-être de dépôt git ou de supermarché). Avec une autre commande uniqueberks upload
il télécharge tous ces livres de cuisine de chef server. Vous n'avez pas à les télécharger individuellement avecknife cookbook upload
. Rôle de Berksfile en particulier les livres de cuisine du cycle de vie des finitions ici.métadonnées.rb est visé par le chef-client tout en fait converger le nœud. Il utilise ce fichier pour télécharger tous les livres de cuisine de chef server (en supposant que ces livres de cuisine sont maintenant disponibles sur le chef de serveur en utilisant
berkshelf
ouknife
) pour le nœud de compléter avec succès le chef-d'exécution du client.