Jak zwiększyć limit czasu wdrożeń Elastic Beanstalk?


13

Jako część mojego wdrażania aplikacji, mam trochę commandsw moich .ebextensionsplikach konfiguracyjnych. Wykonanie wszystkich poleceń może potrwać 20 minut lub dłużej, przy pierwszym uruchomieniu poleceń (klonowanie dużych repozytoriów).

Niestety powoduje to przekroczenie limitu czasu podczas wdrażania:

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

Czy można zwiększyć ten limit czasu? Nie mogę znaleźć tej opcji w ustawieniach środowiska.


1
GIYF, możesz użyć ebextensions: stackoverflow.com/questions/25557874/...
Lucas Carvalho

Dzięki za wskaźnik, jeśli dodasz podsumowanie połączonej odpowiedzi poniżej, oznaczę twoją odpowiedź jako zaakceptowaną!
Benjamin

Odpowiedzi:


11

Możesz dodać pliki konfiguracyjne AWS Elastic Beanstalk (.ebextensions) do kodu źródłowego aplikacji internetowej, aby skonfigurować środowisko i dostosować zawarte w nim zasoby AWS.

option_settingsSekcja pliku konfiguracyjnego określa wartości dla opcji konfiguracyjnych . Opcje konfiguracji pozwalają skonfigurować środowisko Elastic Beanstalk, zawarte w nim zasoby AWS oraz oprogramowanie, które uruchamia twoją aplikację.

Dodaj pliki konfiguracyjne do kodu źródłowego w folderze o nazwie .ebextensions i wdróż go w pakiecie źródłowym aplikacji.

Przykład:

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

* „wartość” oznacza czas do upływu limitu czasu w sekundach.

Odniesienia: Oficjalna konfiguracja środowiska elastycznych ziaren fasoli AWS i ogólne opcje dla wszystkich środowisk , ta odpowiedź na przepełnienie stosu i ten post na forum deweloperów AWS.


0

możesz upiec repo w AMI i użyć elastycznej łodygi fasoli. W ten sposób kasa nie jest tak długa.

Z drugiej strony, co robisz, klonując ogromne repozytoria w ramach wdrożenia ?


Zawsze niechętnie korzystałem z niestandardowego AMI, aby było to proste. Ostatnia uwaga jest jednak dobra. Moja aplikacja ma wbudowany generator logo, który wymaga obszernej listy czcionek, aby zaoferować użytkownikowi wybór. Nie chcę łączyć tych czcionek z moją aplikacją, aby utrzymać rozmiar w rozsądnych granicach, więc moje skrypty wdrażania klonują duże repozytorium, gdy aplikacja zostanie przekazana na serwery. To może nie być najlepsze podejście, ale jest to najlepsze, jakie do tej pory znalazłem.
Benjamin
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.