Hooks de plataforma - AWS Elastic Beanstalk

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

Hooks de plataforma

Os hooks de plataforma são criados especificamente para estender a plataforma do ambiente. Eles são scripts personalizados e outros arquivos executáveis que são implantados como parte do código-fonte da aplicação, e são executados pelo Elastic Beanstalk durante vários estágios de provisionamento da instância.

nota

Não há suporte para ganchos de plataforma nas versões da AMI plataforma Amazon Linux (anteriores ao Amazon Linux 2).

Hooks de plataforma de implantação de aplicações

Uma implantação de aplicação ocorre quando você fornece um novo pacote de origem para implantação ou quando faz uma alteração de configuração que exige o encerramento e a recriação de todas as instâncias do ambiente.

Para fornecer hooks de plataforma executados durante a implantação de uma aplicação, coloque os arquivos no diretório .platform/hooks do pacote de origem, em um dos seguintes subdiretórios.

  • prebuild: estes arquivos serão executados depois que o mecanismo da plataforma do Elastic Beanstalk fizer download e extrair o pacote de origem do aplicação, e antes de configurar a aplicação e o servidor Web.

    Os arquivos prebuild são executados depois da execução de comandos encontrados na seção commands, de qualquer arquivo de configuração, e antes da execução de comandos Buildfile.

  • predeploy: estes arquivos são executados depois que o mecanismo da plataforma do Elastic Beanstalk configura a aplicação e o servidor Web, e antes de implantá-los em seu local final de runtime.

    Os arquivos predeploy são executados depois da execução dos comandos encontrados na seção container_commands de qualquer arquivo de configuração, e antes da execução de comandos Procfile.

  • postdeploy: estes arquivos são executados depois que o mecanismo da plataforma do Elastic Beanstalk implanta a aplicação e o servidor de proxy.

    Esta é a última etapa do fluxo de trabalho de implantação.

Hooks de plataforma de implantação de configuração

Uma implantação de configuração ocorre quando você faz alterações de configuração que apenas atualizam instâncias do ambiente sem recriá-las. As atualizações de opção a seguir resultam em uma atualização da configuração.

Para fornecer hooks que são executados durante a implantação de uma configuração, coloque-os no diretório .platform/confighooks do pacote de origem. São aplicados os mesmos três subdiretórios que aqueles aplicados para os hooks de implantação de aplicações.

Mais sobre hooks de plataforma

Os arquivos de hook podem ser arquivos binários ou arquivos de script que começam com uma linha #! contendo seu caminho de interpretador, como #!/bin/bash. Todos os arquivos devem ter permissão de execução. Use chmod +x para definir a permissão de execução em seus arquivos de hook. Em todas as versões de plataforma baseadas no Amazon Linux 2023 e no Amazon Linux 2 lançadas a partir de 29 de abril de 2022, o Elastic Beanstalk concede automaticamente permissões de execução para todos os scripts de hook da plataforma. Nesse caso, não é necessário conceder manualmente as permissões de execução. Para obter uma lista dessas versões da plataforma, consulte as notas de lançamento do Linux de 29 de abril de 2022 no AWS Elastic Beanstalk Guia de notas de lançamento.

O Elastic Beanstalk executa arquivos em cada um desses diretórios em ordem lexicográfica de nomes de arquivos. Todos os arquivos são executados como o usuário root. O diretório de trabalho atual (cwd) para hooks de plataforma é o diretório raiz do aplicativo. Para os arquivos prebuild e predeploy é o diretório de preparação do aplicativo, e para os arquivos postdeploy é o diretório atual do aplicativo. Se um dos arquivos falhar (terminar com um código de saída diferente de zero), a implantação será interrompida e falhará.

Um script de texto de ganchos de plataforma pode falhar se contiver caracteres de quebra de linha Windows Carriage Return/ Line Feed (CRLF). Se um arquivo foi salvo em um host Windows e depois transferido para um servidor Linux, ele pode conter quebras de CRLF linha do Windows. Para plataformas lançadas em ou após 29 de dezembro de 2022, o Elastic Beanstalk CRLF converte automaticamente caracteres do Windows em caracteres de quebra de linha do Linux Line Feed (LF) em arquivos de texto de ganchos da plataforma. Se seu aplicativo for executado em qualquer plataforma Amazon Linux 2 lançada antes dessa data, você precisará converter os caracteres do Windows em CRLF caracteres LF do Linux. Uma forma de fazer isso é criar e salvar o arquivo de script em um host Linux. Ferramentas que convertem esses caracteres também estão disponíveis na internet.

Os arquivos de hook têm acesso a todas as propriedades de ambiente definidas nas opções da aplicação e às variáveis de ambiente do sistema HOME, PATH e PORT.

Para obter valores de variáveis de ambiente e outras opções de configuração nos scripts de hook de plataforma, é possível usar o utilitário get-config que o Elastic Beanstalk fornece em instâncias do ambiente. Para obter detalhes, consulte Ferramentas de script de plataforma para seus ambientes do Elastic Beanstalk.