Comment augmenter le délai d'expiration des déploiements Elastic Beanstalk?

13

Dans le cadre du déploiement de mon application, j'en ai commandsdans mes .ebextensionsfichiers de configuration. Cela peut prendre 20 minutes ou plus pour que toutes les commandes se terminent, la première fois qu'elles sont exécutées (clonage de grands référentiels).

Malheureusement, cela déclenche un délai d'expiration pendant le déploiement:

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

Est-il possible d'augmenter ce délai? Je ne trouve pas l'option dans mes paramètres d'environnement.

Benjamin
la source
1
GIYF, vous pouvez utiliser des extensions électroniques: stackoverflow.com/questions/25557874/…
Lucas Carvalho
Merci pour le pointeur, si vous ajoutez un résumé de la réponse liée ci-dessous, je marquerai votre réponse comme acceptée!
Benjamin

Réponses:

11

Vous pouvez ajouter des fichiers de configuration AWS Elastic Beanstalk (.ebextensions) au code source de votre application Web pour configurer votre environnement et personnaliser les ressources AWS qu'il contient.

La option_settingssection d'un fichier de configuration définit les valeurs des options de configuration . Les options de configuration vous permettent de configurer votre environnement Elastic Beanstalk, les ressources AWS qu'il contient et le logiciel qui exécute votre application.

Ajoutez des fichiers de configuration à votre code source dans un dossier nommé .ebextensions et déployez-le dans votre bundle source d'application.

Exemple:

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

* "valeur" représente la durée avant le délai d'expiration en secondes.

Références: Configuration officielle de l' environnement AWS Elastic Beanstalk et options générales pour tous les environnements , cette réponse stackoverflow et cet article du forum des développeurs AWS.

Lucas Carvalho
la source
0

vous pouvez faire cuire les dépôts dans une AMI et faire en sorte que le haricot élastique l'utilise. De cette façon, le paiement n'est pas si long.

Dans un autre ordre d'idées, que faites-vous pour cloner des dépôts massifs dans le cadre du déploiement ?

Alex
la source
J'ai toujours hésité à utiliser une AMI personnalisée, pour rester simple. Votre dernière note est cependant un bon point. Mon application dispose d'un générateur de logo intégré, qui a besoin d'une longue liste de polices à proposer à l'utilisateur. Je ne veux pas regrouper ces polices avec mon application pour garder la taille dans des limites raisonnables, donc mes scripts de déploiement clonent un grand référentiel une fois que l'application est poussée sur les serveurs. Ce n'est peut-être pas la meilleure approche, mais c'est la meilleure que j'ai trouvée jusqu'à présent.
Benjamin