Co to jest ciągłe dostarczanie?

Ciągłe dostarczanie wartości stało się obowiązkowym wymaganiem dla organizacji. Aby dostarczać wartość użytkownikom końcowym, musisz stale i bez błędów zwalniać.

Ciągłe dostarczanie (CD) to proces automatyzowania kompilacji, testowania, konfiguracji i wdrażania z kompilacji do środowiska produkcyjnego. Potok wydania może tworzyć wiele środowisk testowych lub przejściowych w celu zautomatyzowania tworzenia infrastruktury i wdrażania nowych kompilacji. Kolejne środowiska obsługują stopniowo dłuższą integrację, ładowanie i działania testowania akceptacyjnego użytkowników.

Illustration of how continuous delivery automates the flow to production..

Przed wdrożeniem ciągłego wdrażania cykle wydawania oprogramowania były wąskim gardłem dla zespołów ds. aplikacji i operacji. Te zespoły często polegały na ręcznych przekazach, które spowodowały problemy podczas cykli wydania. Procesy ręczne doprowadziły do zawodnych wydań, które spowodowały opóźnienia i błędy.

Ciągłe wdrażanie jest praktyką chude, mającą na celu zapewnienie aktualności środowiska produkcyjnego przy użyciu najszybszej ścieżki od nowego kodu lub dostępności składników do wdrożenia. Automatyzacja minimalizuje czas wdrażania i czasu w celu ograniczenia (TTM) lub czasu korygowania zdarzeń produkcyjnych (TTR ). W kategoriach chudych cd optymalizuje czas procesu i eliminuje czas bezczynności.

Ciągła integracja rozpoczyna proces ciągłej integracji. Potok wydania etapy każdego kolejnego środowiska do następnego środowiska po pomyślnym zakończeniu testów. Potok zautomatyzowanego wydania ciągłego wdrażania umożliwia szybkie podejście do weryfikacji, w którym testy najprawdopodobniej zakończą się niepowodzeniem, a długotrwałe testy będą wykonywane dopiero po pomyślnym zakończeniu tych testów.

Uzupełniające się praktyki infrastruktury jako kodu (IaC) i monitorowania ułatwiają ciągłe wdrażanie .

Techniki progresywnego narażenia

Cd obsługuje kilka wzorców progresywnej ekspozycji, nazywanych również "kontrolowanie promienia wybuchu". Te rozwiązania ograniczają narażenie na wdrożenia, aby uniknąć ryzyka problemów z ogólną bazą użytkowników.

  • Ciągłe wdrażanie może sekwencjonować wiele pierścieni wdrażania w celu uzyskania progresywnej ekspozycji. Pierścień próbuje przeprowadzić wdrożenie w grupie użytkowników i monitoruje ich środowisko. Pierwszy pierścień wdrażania może być kanarkiem do testowania nowych wersji w środowisku produkcyjnym przed szerszym wdrożeniem. Usługa CD automatyzuje wdrażanie z jednego pierścienia do następnego.

    Wdrożenie do następnego pierścienia może opcjonalnie zależeć od kroku ręcznego zatwierdzania, w którym twórca decyzji podpisze zmiany elektronicznie. Cd może utworzyć rekord inspekcji zatwierdzenia w celu spełnienia procedur regulacyjnych lub innych celów kontroli.

  • Wdrożenie niebieskie/zielone polega na utrzymaniu istniejącej niebieskiej wersji na żywo podczas wdrażania nowej zielonej wersji. Ta praktyka zwykle używa równoważenia obciążenia do kierowania rosnących ilości ruchu do zielonego wdrożenia. Jeśli monitorowanie wykryje zdarzenie, ruch może zostać przekierowany do niebieskiego wdrożenia nadal działa.

  • Flagi funkcji lub przełączania funkcji to kolejna technika eksperymentowania i ciemnych startów. Flagi funkcji włączają lub wyłączają funkcje dla różnych grup użytkowników na podstawie tożsamości i członkostwa w grupach.

Nowoczesne potoki wydania umożliwiają zespołom deweloperów szybkie i bezpieczne wdrażanie nowych funkcji. Ciągłe wdrażanie może szybko rozwiązać problemy występujące w środowisku produkcyjnym, przechodząc do przodu przy użyciu nowego wdrożenia. W ten sposób dysk CD tworzy ciągły strumień wartości klienta.

Następne kroki