Référentiels de livres de recettes - AWS OpsWorks

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Référentiels de livres de recettes

Important

Le AWS OpsWorks Stacks service a atteint sa fin de vie le 26 mai 2024 et a été désactivé tant pour les nouveaux clients que pour les clients existants. Nous recommandons vivement aux clients de migrer leurs charges de travail vers d'autres solutions dès que possible. Si vous avez des questions sur la migration, contactez l' AWS Support équipe sur AWS Re:Post ou via le AWS Support Premium.

Vos livres de recettes personnalisés doivent être stockés dans un référentiel en ligne, soit une archive telle qu'un fichier .zip, soit un gestionnaire de contrôle de source tel que Git. Une pile peut avoir un seul référentiel de livres personnalisés, mais ce référentiel peut contenir n'importe quel nombre de livres de recettes. Lorsque vous installez ou mettez à jour les livres de recettes, AWS OpsWorks Stacks installe l'intégralité du référentiel dans un cache local sur chacune des instances de la pile. Par exemple, lorsqu'une instance a besoin d'exécuter une ou plusieurs recettes, elle utilise le code à partir du cache local.

Ce qui suit décrit la structure de votre référentiel de livres de recettes, ce qui dépend du type. Le texte en italique dans les illustrations représente les noms de répertoires et de fichiers définis par l'utilisateur, y compris le nom du référentiel ou de l'archive.

Gestionnaire de contrôle de source

AWS OpsWorks Stacks prend en charge les gestionnaires de contrôle de source suivants :

  • Stacks Linux — Git et Subversion

  • Windows Stacks — Git

L'exemple suivant montre la structure de répertoires et de fichiers requise :

Structure obligatoire pour les référentiels de livres de recettes SCM
  • Les répertoires de livres de recettes doivent être au niveau supérieur.

Archivage

AWS OpsWorks Stacks prend en charge les archives suivantes :

  • Stacks Linux : fichiers zip, gzip, bzip2 ou tarball, stockés sur Amazon S3 ou sur un site Web (archive HTTP).

    AWS OpsWorks Stacks ne prend pas en charge les archives non compressées.

  • Windows Stacks : fichiers zip et tgz (tar compressé au format gzip), stockés sur Amazon S3.

L'exemple suivant montre le répertoire et la structure de fichiers requis, en fonction de l'exécution d'une pile Linux ou Windows. La structure du livre de recettes est la même que pour les référentiels SCM, c'est pourquoi elle est représentée par une ellipse (...).

Structure obligatoire pour les archives
  • Linux Stacks — Les répertoires des livres de recettes doivent être contenus dans un répertoire racine.

  • Windows Stacks — Les livres de recettes doivent se trouver au niveau supérieur de l'archive.

    Si vous avez un seul livre de recettes, vous pouvez ignorer de façon facultative le répertoire des livres de recettes et mettre les fichiers du livre au niveau supérieur. Dans ce cas, AWS OpsWorks Stacks obtient le nom du livre de recettes à partir de metadata.rb.

Chaque répertoire de livre de recettes a au moins et généralement tous les fichiers et répertoires standard suivants, qui doivent utiliser des noms standard :

  • attributes— Les fichiers d'attributs du livre de recettes.

  • recipes— Les fichiers de recettes du livre de recettes.

  • templates— Les fichiers modèles du livre de recettes.

  • other — Répertoires facultatifs définis par l'utilisateur qui contiennent d'autres types de fichiers, tels que des définitions ou des spécifications.

  • metadata.rb— Les métadonnées du livre de recettes.

    Pour Chef 11.10 et les versions ultérieures, si vos recettes dépendent d'autres livres, vous devez inclure les instructions depends correspondantes dans le fichier metadata.rb de votre livre de recettes. Par exemple, si le livre inclut une recette avec une instruction telle que include_recipe anothercookbook::somerecipe, le fichier metadata.rb de votre livre de recettes doit comporter la ligne suivante : depends "anothercookbook". Pour plus d'informations, consultez À propos des métadonnées des livres de recettes.

Les modèles doivent être dans un sous-répertoire du répertoire templates qui contient au moins un, voire plusieurs sous-répertoires. Ces sous-répertoires peuvent également contenir des sous-répertoires.

  • Les modèles ont généralement un sous-répertoire default qui contient les fichiers de modèle utilisés par Chef par défaut.

  • other (autre) représente les sous-répertoires facultatifs qui peuvent être utilisés pour des modèles de système d'exploitation spécifiques.

  • Chef utilise automatiquement le modèle du sous-répertoire approprié, en fonction des conventions d'affectation de noms qui sont décrites dans File Specificity. Par exemple, pour les systèmes d'exploitation Linux et , vous pouvez mettre modèles spécifiques au système d'exploitation dans les sous-répertoires nommés amazonamazon ou ubuntuubuntu, respectivement.

Les détails de gestion des livres de recettes personnalisés dépendent de votre type de référentiel préféré.

Pour utiliser une archive
  1. Implémentez vos livres de recettes en utilisant la structure de dossier indiquée dans la section précédente.

  2. Créez une archive compressée et chargez-la dans un compartiment Amazon S3 ou sur un site Web.

    Si vous mettez à jour vos livres de recettes, vous devez créer et télécharger un nouveau fichier d'archive. Le contenu livré aux compartiments Amazon S3 peut contenir du contenu client. Pour plus d'informations sur la suppression de données sensibles, consultez How Do I Empty an S3 Bucket? (Comment puis-je vider un compartiment S3 ?) ou How Do I Delete an S3 Bucket? (Comment supprimer un compartiment S3 ?).

Pour utiliser un SCM
  1. Configurez un référentiel Subversion ou Git à l'aide de la structure illustrée précédemment.

  2. Le cas échéant, utilisez les fonctionnalités de contrôle de version du référentiel pour mettre en place plusieurs branches ou versions.

    Si vous mettez à jour vos livres de recettes, vous pouvez le faire dans une nouvelle branche et simplement demander OpsWorks à utiliser la nouvelle version. Vous pouvez aussi spécifier des versions balisées spécifiques. Pour plus de détails, consultez Définition d'un référentiel de livres de recettes personnalisé.

Installation de livres de recettes personnalisésdécrit comment faire en sorte que AWS OpsWorks Stacks installe votre référentiel de livres de recettes sur les instances de la pile.

Important

Après avoir mis à jour les livres de recettes existants dans le référentiel, vous devez exécuter la commande update_cookbooks stack pour demander à AWS OpsWorks Stacks de mettre à jour le cache local de chaque instance en ligne. Pour plus d’informations, consultez Exécution des commandes de pile.