

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
<a name="gettingstarted-linux-explore-cookbook"></a>

**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](https://repost.aws/) o a través de Premium [AWS Support](https://aws.amazon.com/support).

En este tema se describe el libro de cocina que 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)](https://docs.chef.io/cookbooks.html) y [About Recipes](https://docs.chef.io/recipes.html) en el sitio web [Learn Chef](https://learn.chef.io/).

Para ver el contenido del libro de cocina utilizado en este tutorial, extrae el contenido del archivo [opsworks-linux-demo-cookbooks-nodejs.tar.gz](https://s3.amazonaws.com/opsworks-demo-assets/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, 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 [OpsWorks Referencia de la bolsa de datos Stacks](data-bags.md). Consulte también [About Data Bags](https://docs.chef.io/data_bags.html) en el sitio web de [Learn Chef](https://learn.chef.io/). Para obtener más información sobre Chef, consulte [About Search](https://docs.chef.io/chef_search.html) en el sitio web [Learn Chef](https://learn.chef.io/).
+ El recurso `package` instala Git en la instancia.
+ El recurso `application` describe e implementa aplicaciones web:
  + `javascript`es 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, 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 OpsWorks Stacks creó el libro de cocina utilizado para este tutorial, tú puedes crear tus propios libros de cocina. Para aprender a hacerlo, consulte [Introducción: Libros de recetas](gettingstarted-cookbooks.md). Además, vaya a [About Cookbooks](https://docs.chef.io/cookbooks.html), [About Recipes](https://docs.chef.io/recipes.html) y [Learn the Chef Basics on Ubuntu](https://learn.chef.io/modules/learn-the-basics/ubuntu#/) en el sitio web [Learn Chef](https://learn.chef.io/) y a la sección "Our first Chef cookbook" en [First steps with Chef](http://gettingstartedwithchef.com/first-steps-with-chef.html) en el sitio web [Getting started with Chef](http://gettingstartedwithchef.com/).