Como aumentar o tempo limite das implantações do Elastic Beanstalk?

13

Como parte da implantação do meu aplicativo, tenho alguns commandsnos meus .ebextensionsarquivos de configuração. Pode levar 20 minutos ou mais para que todos os comandos sejam concluídos, na primeira vez em que os comandos são executados (clonando grandes repositórios).

Infelizmente, isso dispara um tempo limite durante a implantação:

INFO Deploying new version to instance(s).
WARN The following instances have not responded in the allowed command
     timeout time (they might still finish eventually on their own).
INFO Command execution completed. Summary: [Successful: 0, TimedOut: 1].

É possível aumentar esse tempo limite? Não consigo encontrar a opção nas configurações do meu ambiente.

Benjamin
fonte
1
GIYF, você pode usar ebextensions: stackoverflow.com/questions/25557874/…
Lucas Carvalho
Obrigado pelo ponteiro, se você adicionar um resumo da resposta vinculada abaixo, marcarei sua resposta como aceita!
Benjamin

Respostas:

11

Você pode adicionar os arquivos de configuração do AWS Elastic Beanstalk (.ebextensions) ao código-fonte do seu aplicativo da Web para configurar seu ambiente e personalizar os recursos da AWS que ele contém.

A option_settingsseção de um arquivo de configuração define valores para opções de configuração . As opções de configuração permitem configurar o ambiente do Elastic Beanstalk, os recursos da AWS e o software que executa seu aplicativo.

Adicione arquivos de configuração ao seu código-fonte em uma pasta chamada .ebextensions e implemente-o no pacote de origem do aplicativo.

Exemplo:

option_settings:
    - namespace: aws:elasticbeanstalk:command
      option_name: Timeout
      value: 1000

* "valor" representa o período de tempo antes do tempo limite em segundos.

Referências: configuração oficial do ambiente do AWS Elastic Beanstalk e opções gerais para todos os ambientes , esta resposta de stackoverflow e esta postagem no fórum da AWS Developers.

Lucas Carvalho
fonte
0

você pode assar os repositórios na AMI e usar o pé de feijão elástico. Dessa forma, o check-out não é tão longo.

Em outra nota, o que você está fazendo clonando repositórios massivos como parte da implantação ?

Alex
fonte
Sempre relutei em usar uma AMI personalizada, para mantê-la simples. Sua última nota é um bom argumento, no entanto. Meu aplicativo possui um gerador de logotipo embutido, que precisa de uma extensa lista de fontes para oferecer ao usuário a escolha. Não quero agrupar essas fontes com meu aplicativo para manter o tamanho dentro de limites razoáveis; portanto, meus scripts de implantação clonam um grande repositório assim que o aplicativo é enviado aos servidores. Esta pode não ser a melhor abordagem, mas é a melhor que encontrei até agora.
Benjamin