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.
Paso 16: Actualizar el libro de recetas para utilizar libros de recetas de la comunidad
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 actuales. 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
Por último, actualice el libro de recetas para utilizar la funcionalidad que se ofrece en un libro de recetas de Chef externo proporcionado por la comunidad. El libro de recetas externo que utilizará en este tutorial se encuentra disponible en Chef Supermarket
Cuando un libro de recetas dependa de otro, debe especificar una dependencia en el otro libro de recetas. Para declarar y administrar las dependencias de libros de recetas, recomendamos utilizar una herramienta llamada Berkshelf. Para obtener más información sobre cómo instalar Berkshelf en la estación de trabajo local, consulte About Berkshelf
Después de instalar Berkshelf, siga estos procedimientos para declarar la dependencia del libro de recetas y, a continuación, cree una receta que llame al recurso en el libro de recetas externo:
Para declarar la dependencia del libro de recetas
-
En la estación de trabajo local, en el directorio
opsworks_cookbook_demo
, añada la siguiente línea al final del archivometadata.rb
:depends "application", "5.0.0"
Esto declara una dependencia en un libro de recetas denominado
application
, versión 5.0.0. -
Desde la raíz del directorio
opsworks_cookbook_demo
, ejecute el siguiente comando. El punto al final del comando es intencional.berks init .
Berkshelf crea una serie de carpetas y archivos que se pueden utilizar posteriormente en escenarios más avanzados. El único archivo que necesitamos en este tutorial es el llamado
Berksfile
. -
Añada la siguiente línea al final del archivo
Berksfile
:cookbook "application", "5.0.0"
Esto informa a Berkshelf de que se va a utilizar la versión 5.0.0 del libro de recetas de la aplicación
, que Berkshelf descarga de Chef Supermarket. -
En la línea de comandos o el terminal, ejecute el siguiente comando en la raíz del directorio
opsworks_cookbook_demo
:berks install
Berkshelf crea una lista de las dependencias tanto para su libro de recetas como para el libro de recetas de la aplicación. Berkshelf utiliza esta lista de dependencias en el siguiente procedimiento.
Para actualizar el libro de recetas en la instancia y ejecutar la nueva receta
-
En el subdirectorio
recipes
del directorioopsworks_cookbook_demo
, cree un archivo llamadodependencies_demo.rb
que contenga el código siguiente:application "Install NetHack" do package "nethack.x86_64" end
Esta receta depende del recurso de aplicación del recetario de la aplicación para instalar el popular juego de aventuras basado en texto en la instancia. NetHack (Puede sustituir otros nombres de paquetes siempre que estén a disposición del administrador de paquetes de la instancia).
-
Desde la raíz del directorio
opsworks_cookbook_demo
, ejecute el siguiente comando:berks package
Berkshelf utiliza la lista de dependencias del procedimiento anterior para crear un archivo denominado
cookbooks-
que contiene el directoriotimestamp
.tar.gzopsworks_cookbook_demo
y su contenido actualizado, incluidos los libros de recetas dependientes del libro de recetas. Cambie el nombre de este archivoopsworks_cookbook_demo.tar.gz
. -
Cargue el archivo
opsworks_cookbook_demo.tar.gz
actualizado y renombrado en el bucket de S3. -
Siga el procedimiento descrito en Paso 5: Actualizar el libro de recetas en la instancia y ejecutar la receta para actualizar el libro de recetas en la instancia y ejecutar la receta. En el procedimiento "To run the recipe" para Recipes to execute (Recetas para ejecutar), escriba
opsworks_cookbook_demo::dependencies_demo
. -
Después de ejecutar la receta, debería tener la posibilidad de iniciar sesión en la instancia y escribir
nethack
en el símbolo del sistema para comenzar la reproducción. (Para obtener más información sobre el juego, consulta NetHackla NetHack Guía).
En el siguiente paso, puedes limpiar los AWS recursos que utilizaste para este tutorial. El siguiente paso es opcional. Es posible que desees seguir utilizando estos AWS recursos a medida que vayas aprendiendo más sobre AWS OpsWorks Stacks. Sin embargo, conservar estos AWS recursos puede provocar algunos cargos continuos en tu AWS cuenta. Si quieres conservar estos AWS recursos para usarlos más adelante, ya has completado este tutorial y puedes pasar directamente a Siguientes pasos ellos.