Uso de hooks de implantação do Chef - AWS OpsWorks

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

Importante

O AWS OpsWorks Stacks não está mais aceitando novos clientes. Os clientes existentes poderão usar o OpsWorks console, a API, a CLI e CloudFormation os recursos normalmente até 26 de maio de 2024, quando serão descontinuados. Para se preparar para essa transição, recomendamos que você transfira suas pilhas para o AWS Systems Manager o mais rápido possível. Para obter mais informações, consulte Como migrar seus aplicativos AWS OpsWorks Stacks para o Application Manager AWS Systems Manager e AWS OpsWorks Stacks Perguntas frequentes sobre o fim da vida útil.

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 especificada. No entanto, você deve usar new_resource.environment["VARIABLE_NAME"] para acessar o valor da variável em vez de ENV["VARIABLE_NAME"].