DevOps i wdrożenia
Każda zmiana według znanego procesu.
Uporządkuj drogę od zmiany w kodzie do publikacji aplikacji. Automatyzujemy uzgodnione testy i etapy wdrożenia, żeby zespół widział wynik każdej zmiany oraz wiedział, jak wrócić do poprzedniej wersji.
Omówmy ten procesPorządkujemy drogę do wdrożenia
Sprawdzamy, jak aplikacja jest budowana, testowana i publikowana. Szukamy czynności wykonywanych ręcznie oraz różnic między środowiskami. Następnie projektujemy proces CI/CD, czyli automatyczne etapy przygotowania zmiany do wdrożenia i jej publikacji.
Zakres może obejmować kontenery, konfigurację procesu w GitLab lub Jenkins oraz zapis infrastruktury jako kodu. Ustalamy także zasady obsługi sekretów i uprawnień. Narzędzia dobieramy do obecnego środowiska i tego, co zespół będzie potrafił utrzymać.
- Automatyczne budowanie aplikacji i uruchamianie uzgodnionych testów.
- Rozdzielenie środowisk, konfiguracji i uprawnień do publikacji.
- Historia wdrożeń, czytelny wynik etapów i wymagane zatwierdzenia.
Sprawdzamy także nieudane wdrożenie
Podczas odbioru przechodzimy uzgodnioną zmianę od początku do końca. Sprawdzamy, czy błąd testu zatrzymuje publikację, czy właściwa wersja trafia na wybrane środowisko i czy można potwierdzić podstawowe działanie aplikacji po wdrożeniu.
Przygotowujemy sposób powrotu do poprzedniej wersji i sprawdzamy go w uzgodnionym zakresie. Osobno uwzględniamy zmiany danych, których cofnięcie może wymagać dodatkowych działań. Przekazujemy konfigurację procesu, instrukcję publikacji oraz opis postępowania po błędzie.
Co warto przygotować przed rozpoczęciem
Pomocny będzie opis ostatniego wdrożenia: wykonane kroki, zaangażowane osoby i miejsca, w których pojawiły się trudności. Warto również wskazać, co musi zostać sprawdzone, zanim użytkownicy otrzymają nową wersję.
- Informacje o repozytorium kodu, środowiskach i sposobie budowania aplikacji.
- Lista dostępnych testów oraz zależności od baz danych i innych usług.
- Zasady zatwierdzania publikacji i dopuszczalne okna prac.
Zaczynamy od jednej aplikacji
Wybieramy aplikację lub etap wdrożenia, który sprawia najwięcej problemów. Ustalamy zakres automatyzacji, kryteria odbioru i odpowiedzialność za utrzymanie procesu. Pierwsza wersja może obejmować samo budowanie oraz testy. Kolejne etapy dodajemy po sprawdzeniu działania i omówieniu potrzeb zespołu.
Pytania przed pierwszą rozmową
Czy mały zespół potrzebuje CI/CD?
Powtarzalny proces może pomóc także kilku osobom. Zakres warto dopasować do częstotliwości zmian i kosztu ręcznych pomyłek, zaczynając od najważniejszego etapu.
Czy publikacja musi odbywać się automatycznie?
Nie. Testy i przygotowanie wersji mogą działać automatycznie, a wdrożenie na produkcję może wymagać zatwierdzenia. Te zasady ustalamy z zespołem.
Który etap wdrożenia wymaga najwięcej uwagi?
Opisz, jak dziś publikujecie aplikację i co najczęściej zatrzymuje zmianę. Ustalimy punkt startu.