Utilisation des raccordements de déploiement Chef - 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.

Utilisation des raccordements de déploiement Chef

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.

Vous pouvez personnaliser le déploiement en implémentant une recette personnalisée pour exécuter les tâches requises et en l'affectant à l'événement Deploy de la couche appropriée. Une approche alternative et parfois plus simple, en particulier si vous n'avez pas besoin d'implémenter un livre de recettes à d'autres fins, consiste à utiliser les hooks de déploiement Chef pour exécuter votre code de personnalisation. En outre, les recettes Deploy personnalisées s'exécutent une fois que le déploiement a déjà été réalisé par les recettes intégrées. Les raccordements de déploiement vous permettent d'interagir lors d'un déploiement : par exemple, une fois que le code de l'application a été extrait du référentiel, mais avant qu'Apache n'ait redémarré.

Chef déploie les applications en quatre étapes :

  • Checkout —Télécharge les fichiers depuis le référentiel

  • Migrer —Exécute une migration, selon les besoins

  • Symlink —Crée des liens symboliques

  • Redémarrer : redémarre l'application

Les raccordements de déploiement Chef offrent un moyen simple de personnaliser un déploiement en exécutant le cas échéant une application Ruby fournie par l'utilisateur, une fois chaque étape terminée. Pour utiliser les raccordements de déploiement, implémentez une ou plusieurs applications Ruby et placez-les dans le répertoire /deploy. (Si votre application n'a pas de répertoire /deploy, créez-en un au niveau APP_ROOT.) L'application doit avoir l'un des noms suivants, qui détermine quand elle s'exécute.

  • before_migrate.rb s'exécute une fois l'étape d'extraction terminée, mais avant la migration.

  • before_symlink.rb s'exécute une fois l'étape d'extraction terminée, mais avant les liens symboliques.

  • before_restart.rb s'exécute une fois l'étape des liens symboliques terminée, mais avant le redémarrage.

  • after_restart.rb s'exécute une fois le redémarrage terminé.

Les raccordements de déploiement Chef peuvent accéder à l'objet nœud en utilisant la syntaxe nœud standard, tout comme les recettes. Les raccordements de déploiement peuvent également accéder aux valeurs des variables d'environnement d'application que vous avez spécifiées. Cependant, vous devez utiliser new_resource.environment["VARIABLE_NAME"] pour accéder à valeur de la variable au lieu de ENV["VARIABLE_NAME"].