Más información: explorar el libro de recetas utilizado en este tutorial - 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.

Más información: explorar el libro de recetas utilizado en este tutorial

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 o a través de Premium AWS Support.

En este tema se describe el libro de cocina que AWS OpsWorks Stacks usó para el tutorial.

Un libro de recetas es un concepto de Chef. Los libros de recetas son archivos de almacenamiento que contienen información de configuración, como, por ejemplo, recetas, valores de atributo, archivos, plantillas, bibliotecas, definiciones y recursos personalizados. Una receta también es un concepto de Chef. Las recetas son instrucciones, escritas en lenguaje Ruby, que especifican los recursos a utilizar y el orden en que se deben aplicar dichos recursos. Para obtener más información, consulte About Cookbooks (Acerca de los libros de recetas) y About Recipes en el sitio web Learn Chef.

Para ver el contenido del libro de cocina utilizado en este tutorial, extrae el contenido del archivo opsworks-linux-demo-cookbooks-nodejs.tar.gz en un directorio vacío de tu estación de trabajo local. (También puede iniciar sesión en la instancia en la que ha implementado el libro de recetas y explorar el contenido del directorio /var/chef/cookbooks).

El archivo default.rb del directorio cookbooks/nodejs_demo/recipes es donde el libro de recetas ejecuta su código:

app = search(:aws_opsworks_app).first app_path = "/srv/#{app['shortname']}" package "git" do options "--force-yes" if node["platform"] == "ubuntu" && node["platform_version"] == "18.04" end application app_path do javascript "4" environment.update("PORT" => "80") git app_path do repository app["app_source"]["url"] revision app["app_source"]["revision"] end link "#{app_path}/server.js" do to "#{app_path}/index.js" end npm_install npm_start end

Esto es lo que hace el archivo:

  • search(:aws_opsworks_app).first utiliza la búsqueda de Chef para buscar información sobre la aplicación que tarde o temprano se implementará en la instancia. Esta información incluye ajustes como, por ejemplo, el nombre abreviado de la aplicación y los detalles del repositorio de origen. Dado que solo se ha implementado una única aplicación en este tutorial, la búsqueda de Chef obtiene estos valores del primer elemento de información del índice de búsqueda aws_opsworks_app en la instancia. Cada vez que se lanza una instancia, AWS OpsWorks Stacks almacena esta y otra información relacionada como un conjunto de bolsas de datos en la propia instancia, y el contenido de la bolsa de datos se obtiene mediante la búsqueda de Chef. Aunque puede codificar de forma rígida estos valores en la receta, utilizar bolsas de datos y la búsqueda de Chef es un enfoque mucho más sólido. Para obtener más información sobre las bolsas de datos, consulte AWS OpsWorks Referencia de la bolsa de datos Stacks. Consulte también About Data Bags en el sitio web de Learn Chef. Para obtener más información sobre Chef, consulte About Search en el sitio web Learn Chef.

  • El recurso package instala Git en la instancia.

  • El recurso application describe e implementa aplicaciones web:

    • javascriptes la versión del motor de JavaScript ejecución que se va a instalar.

    • environment define una variable de entorno.

    • git obtiene el código fuente del repositorio y la ramificación especificados.

    • app_path es la ruta para clonar el repositorio. Si la ruta no existe en la instancia, AWS OpsWorks Stacks la crea.

    • link crea un enlace simbólico.

    • npm_install instala el Administrador de paquetes de nodo, el administrador de paquetes predeterminado para Node.js.

    • npm_start ejecuta Node.js.

Aunque AWS OpsWorks Stacks creó el libro de cocina utilizado para este tutorial, tú puedes crear tus propios libros de cocina. Para saber cómo hacerlo, consulte Introducción: Libros de recetas. Además, vaya a About Cookbooks, About Recipes y Learn the Chef Basics on Ubuntu en el sitio web Learn Chef y a la sección "Our first Chef cookbook" en First steps with Chef en el sitio web Getting started with Chef.