Uso de enlaces de implementación Chef - AWS OpsWorks

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Uso de enlaces de implementación Chef

importante

El AWS OpsWorks Stacks servicio llegó al final de su vida útil el 26 de mayo de 2024 y se ha desactivado tanto para los clientes nuevos como para los existentes. Recomendamos encarecidamente a los clientes que migren sus cargas de trabajo a otras soluciones lo antes posible. Si tienes preguntas sobre la migración, ponte en contacto con el AWS Support equipo en AWS Re:post o a través de Premium AWS Support.

Puede personalizar la implementación mediante una receta personalizada que permita realizar las tareas necesarias y asignando la implementación al evento Deploy de la capa adecuada. Un enfoque alternativo y en ocasiones más sencillo (sobre todo si no tiene que implementar un libro de recetas con otros objetivos) consiste en usar los enlaces de implementación Chef para ejecutar el código de personalización. Además, las recetas Deploy personalizadas se ejecutan después de que las recetas integradas hayan realizado la implementación. Los enlaces de implementación le permiten interactuar durante una implementación; por ejemplo, después de extraer el código de aplicación del repositorio, pero antes de reiniciar Apache.

Chef implementa las aplicaciones en cuatro fases:

  • Extracción: descarga los archivos desde el repositorio

  • Migración: ejecuta una migración, según sea necesario

  • Symlink - crea enlaces simbólicos

  • Reinicio: reinicia la aplicación.

Los enlaces de implementación de Chef son una forma sencilla de personalizar una implementación, ya que ejecutan opcionalmente una aplicación Ruby facilitada por el usuario después de que cada fase termine. Para utilizar enlaces de implementación, implemente una o varias aplicaciones Ruby y póngalas en el directorio /deploy de su aplicación. (Si su aplicación no tiene un directorio /deploy, cree uno en el nivel APP_ROOT). La aplicación debe tener uno de los nombres siguientes, lo que determinará cuándo se ejecuta.

  • before_migrate.rb se ejecuta después de la fase de extracción, pero antes de la fase de migración.

  • before_symlink.rb se ejecuta después de la fase de migración, pero antes de la fase symlink.

  • before_restart.rb se ejecuta después de la fase symlink, pero antes de la fase de reinicio.

  • after_restart.rb se ejecuta una vez que finaliza la fase de reinicio.

Los enlaces de implementación de Chef pueden obtener acceso al nodo de objeto usando una sintaxis de nodo estándar, como en el caso de las recetas. Los enlaces de implementación también pueden obtener acceso a los valores de cualquier variable de entorno de aplicaciones que haya especificado. Sin embargo, debe utilizar new_resource.environment["VARIABLE_NAME"] para obtener acceso al valor de la variable, en vez de ENV["VARIABLE_NAME"].