Używam AWS CodeDeploy do wdrażania moich stron i zauważyłem, że nie jest to bardzo spójne pod względem szybkości; czasami jest to dość szybkie, ale innym razem każdy krok wdrożenia może zająć minuty. Jest to dość denerwujące, gdy wdrożenie powinno być wykonane szybko, w przypadku błędów lub awarii.
Nie mogę jednak znaleźć żadnej dokumentacji dotyczącej szybkości CodeDeploy, a także nie mogę znaleźć logiki, gdy jest on wolny lub szybki. Czy jest jakiś sposób, aby go przyspieszyć i czy jest jakiś sposób, aby wiedzieć, co trwa tak długo?
źródło
BlockTraffic i AllowTraffic
Po prostu dostosowanie ustawień kontroli zdrowia grupy docelowej może potrwać kilka minut.
Przed
Po
Wyjaśnienie
To działa, ponieważ
BlockTraffic
iAllowTraffic
oba czekają na pomyślne kontrole zdrowia. Domyślny interwał sprawdzania kondycji to 1 sprawdzanie co 30 sekund, a pomyślna kontrola wymaga 5 kolejnych 200 odpowiedzi. Dlatego domyślnie zajmuje to więcej niż 2 min. 30 sekund. I to jest dla każdej instancji EC2. Skrócenie interwału sprawdzania kondycji i ograniczenie liczby wymaganych sprawdzeń poprawi skrócenie czasu wdrażania.źródło
Script at specified location: ... failed to complete in 5 seconds
. (jest ustawiony w appspec.yml-> haki: -> BeforeInstall :) (proszę powiedz mi dlaczego)Innym ustawieniem do sprawdzenia jest „opóźnienie wyrejestrowania” grupy docelowej. Moje ustawienia sprawdzania kondycji były już niskie i w moim przypadku było to wąskie gardło.
źródło