

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á.

# Uso de hooks de implantação do Chef
<a name="workingcookbook-extend-hooks"></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).

Você pode personalizar a implantação ao implementar uma receita personalizada para realizar as tarefas necessárias e atribuí-la ao evento Implantar da camada apropriada. Uma abordagem alternativa e algumas vezes mais simples, especialmente se não for necessário implementar um livro de receitas para outros fins, é usar hooks de implantação do Chef para executar o seu código de personalização. Além disso, o Implantar receitas personalizado é executado depois que a implantação tiver sido realizada pelas receitas integradas. Os hooks de implantação permitem que você interaja durante uma implantação, por exemplo, após o check-out do código do aplicativo do repositório, mas antes do reinício do Apache.

O Chef implanta aplicativos em quatro estágios:
+ **Check-out**: faz download dos arquivos do repositório
+ **Migrar**: executa uma migração conforme necessário
+ **Symlink**: cria symlinks
+ **Reiniciar**: reinicia o aplicativo

Os hooks de implantação do Chef oferecem uma maneira simples de personalizar uma implantação ao executarem opcionalmente um aplicativo Ruby fornecido pelo usuário após a conclusão de cada estágio. Para usar os hooks de implantação, implemente um ou mais aplicativos Ruby e coloque-os no diretório `/deploy` do seu aplicativo. (Se seu aplicativo não tiver um diretório `/deploy`, crie um no nível `APP_ROOT`). O aplicativo deve ter um dos seguintes nomes, que determina quando ele será executado.
+ `before_migrate.rb` é executado após a conclusão do estágio Check-out, mas antes de Migração.
+ `before_symlink.rb` é executado após a conclusão do estágio Migração, mas antes de Symlink.
+ `before_restart.rb` é executado após a conclusão do estágio Symlink, mas antes de Reinício.
+ `after_restart.rb` é executado após a conclusão do estágio Reinício.

Os hooks de implantação do Chef podem acessar o objeto de nó usando a sintaxe padrão do nó, assim como acontece com as receitas. Os hooks de implantação também podem acessar os valores de qualquer [variável de ambiente de aplicativo](workingapps-creating.md#workingapps-creating-environment) especificada. No entanto, você deve usar `new_resource.environment["VARIABLE_NAME"] ` para acessar o valor da variável em vez de `ENV["VARIABLE_NAME"]`.