

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Aprendendo mais: Explore o livro de receitas usado nessa apresentação
<a name="gettingstarted-linux-explore-cookbook"></a>

**Importante**  
O AWS OpsWorks Stacks serviço chegou ao fim da vida útil em 26 de maio de 2024 e foi desativado para clientes novos e existentes. É altamente recomendável que os clientes migrem suas cargas de trabalho para outras soluções o mais rápido possível. Se você tiver dúvidas sobre migração, entre em contato com a AWS Support equipe no [AWS re:POST](https://repost.aws/) ou por meio do Premium [AWS Support](https://aws.amazon.com/support).

Este tópico descreve o livro de receitas que OpsWorks Stacks usou para o passo a passo.

Um *livro de receitas* é um conceito do Chef. Livros de receitas são arquivos mortos que contêm informações de configuração, como receitas, valores de atributo, arquivos, modelos, bibliotecas, definições e recursos personalizados. Uma *receita* também e um conceito do Chef. Receitas são instruções, escritas com sintaxe de linguagem Ruby, que especifica os recursos a serem usados e a ordem em que esses recursos são aplicados. Para mais informações, vá para [Sobre livros de receitas](https://docs.chef.io/cookbooks.html) e [Sobre receitas](https://docs.chef.io/recipes.html) no site [Saber sobre Chef](https://learn.chef.io/).

Para ver o conteúdo do livro de receitas usado neste passo a passo, extraia o conteúdo do arquivo [opsworks-linux-demo-cookbooks-nodejs.tar.gz](https://s3.amazonaws.com/opsworks-demo-assets/opsworks-linux-demo-cookbooks-nodejs.tar.gz) em um diretório vazio em sua estação de trabalho local. (Você também pode entrar na instância na qual implantou o livro de receitas e explorar os conteúdos do diretório `/var/chef/cookbooks`.)

O arquivo `default.rb` no diretório `cookbooks/nodejs_demo/recipes` é onde o livro de receitas executa seu 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
```

Veja o que o arquivo faz:
+ `search(:aws_opsworks_app).first` usa busca de Chef para procurar informações sobre o aplicativo que eventualmente serão implantados à instância. Essas informações incluem configurações como o nome curto do aplicativo e seus detalhes de repositório fonte. Como apenas um aplicativo foi implantado nessa demonstração, a busca do Chef obtém essas configurações do primeiro item de informações dentro do índice de busca `aws_opsworks_app` na instância. Sempre que uma instância é iniciada, o OpsWorks Stacks armazena essas e outras informações relacionadas como um conjunto de pacotes de dados na própria instância, e você obtém o conteúdo do pacote de dados por meio da pesquisa do Chef. Apesar de você poder usar hardcoding nessas configurações nessa receita, usando recipientes de dados e busca de Chef é uma abordagem mais robusta. Para obter mais informações sobre recipientes de dados, consulte o [OpsWorks Referência do Stacks Data Bag](data-bags.md). Consulte também [Sobre recipientes de dados](https://docs.chef.io/data_bags.html) no site [Aprender sobre Chef](https://learn.chef.io/). Para obter mais informações sobre busca do Chef, vá para [Sobre pesquisa](https://docs.chef.io/chef_search.html) no site [Aprender sobre Chef](https://learn.chef.io/).
+ O recurso `package` instala Git na instância.
+ O recurso `application` descreve e implanta aplicativos da web:
  + `javascript`é a versão do tempo de JavaScript execução a ser instalada.
  + `environment` define um ambiente variável.
  + `git` obtém o código fonte do repositório especificado e ramificação.
  + `app_path` é o caminho para onde clonar o repositório. Se o caminho não existir na instância, o OpsWorks Stacks o cria.
  + `link` cria um link simbólico.
  + `npm_install` instala Gerente de pacote de nó, o gente de pacote de nó padrão de Node.js.
  + `npm_start` executa Node.js.

Embora OpsWorks Stacks tenha criado o livro de receitas usado para este passo a passo, você pode criar seus próprios livros de receitas. Para saber como, consulte [Conceitos básicos: livros de receitas](gettingstarted-cookbooks.md). Além disso, vá para [Sobre livro de receitas](https://docs.chef.io/cookbooks.html), [Sobre receitas](https://docs.chef.io/recipes.html) e [Aprender o básico do Chef no Ubuntu](https://learn.chef.io/modules/learn-the-basics/ubuntu#/) no site [Aprender sobre Chef](https://learn.chef.io/), e a seção "Nosso primeiro livro de receitas do Chef" no [Primeiras etapas com Chef](http://gettingstartedwithchef.com/first-steps-with-chef.html) no site [Introdução ao Chef](http://gettingstartedwithchef.com/).