Testy smoke, wycofywanie i powiadomienia
Weryfikowanie, odzyskiwanie i raportowanie wdrożenia.
Testy smoke, wycofywanie i powiadomienia to bezpłatna lekcja DevOps Bootcamp na CoddyKit. To lekcja 4 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej DevOps Bootcamp, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs DevOps Bootcamp zawiera 4 lekcji w sumie.
Wdrożenie nie kończy się na przeładowaniu
Zakończony play nie oznacza działającej aplikacji. Nadal potrzebne są testy smoke, ścieżka wycofania zmian i powiadomienie. Należy domknąć cały proces. 🔁
Wykonaj test smoke endpointu
Należy wywołać rzeczywistą trasę za pomocą modułu uri i sprawdzić kod 200. Jeśli aplikacja nie odpowiada prawidłowo, wdrożenie powinno zakończyć się wyraźnym błędem.
- name: Smoke test
ansible.builtin.uri:
url: https://app.example.com/health
status_code: 200
return_content: trueSprawdź właściwą wersję
Należy pójść o krok dalej: odczytać odpowiedź i użyć assert, aby potwierdzić, że wersja działająca na produkcji odpowiada tej właśnie wdrożonej.
- ansible.builtin.assert:
that:
- "app_version in smoke.content"
fail_msg: "Wrong version live"Umieść wdrożenie w bloku
Należy umieścić wdrożenie i testy w jednym block, aby pojedyncza awaria mogła uruchomić wspólną ścieżkę odzyskiwania.
- block:
- import_role:
name: deploy
- import_tasks: smoke.ymlWycofaj zmiany w rescue
Logikę cofania zmian należy umieścić w rescue: ponownie wdrożyć poprzednią wersję, aby nieudane wydanie nigdy nie pozostawiło użytkowników z uszkodzonym kodem.
rescue:
- name: Roll back
ansible.builtin.git:
repo: "{{ app_repo }}"
version: "{{ previous_version }}"
dest: /srv/appZawsze ponownie włączaj ruch
Należy użyć always, aby ponownie umieścić węzeł za load balancerem niezależnie od tego, czy wdrożenie się powiodło, czy zostało wycofane. Nie wolno pozostawiać hosta odłączonego od ruchu.
always:
- community.general.haproxy:
state: enabled
host: "{{ inventory_hostname }}"
delegate_to: lb1Reaguj szybko i jasno
Gdy coś jest nie tak, należy zatrzymać proces z użytecznym komunikatem za pomocą modułu fail, aby w logu dokładnie było wiadomo, co uległo awarii.
- ansible.builtin.fail:
msg: "Health check failed on {{ inventory_hostname }}"Powiadom zespół
Należy zgłosić wynik. Zadanie community.general.slack publikuje informację o powodzeniu lub błędzie, dzięki czemu zespół wie, że wdrożenie zostało zakończone.
- community.general.slack:
token: "{{ slack_token }}"
msg: "Deployed {{ app_version }} ✅"E-mail czy czat — wybór należy do Państwa
Preferują Państwo e-mail? Moduł mail wysyła podsumowanie. Każdy kanał jest odpowiedni — najważniejszy jest jasny, automatyczny sygnał o wdrożeniu.
- community.general.mail:
to: ops@example.com
subject: "Deploy {{ app_version }} complete"Zachowaj ostatnią dobrą wersję
Rollback działa tylko wtedy, gdy jest śledzony. Przed wdrożeniem należy zapisać previous_version, aby sekcja rescue wiedziała, co przywrócić.
vars:
previous_version: "2.4.0"
app_version: "2.4.1"Wdrożenie, któremu można zaufać
Należy przeprowadzić testy, wycofać zmiany w razie awarii, zawsze przywrócić ruch i powiadomić zespół. To jest wdrożenie produkcyjnej jakości — od początku do końca. 🎉
Szybkie sprawdzenie
Jedna sekcja gwarantuje przywrócenie ruchu.
Podsumowanie
Domknęli Państwo cały proces: testy smoke, rollback w rescue, ponowne włączenie ruchu w always oraz powiadomienia zespołu. Zadanie końcowe ukończone! 🏆
Często zadawane pytania
Czy lekcja „Testy smoke, wycofywanie i powiadomienia” jest bezpłatna?
Tak — pełny tekst „Testy smoke, wycofywanie i powiadomienia” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu DevOps Bootcamp, przejdź na CoddyKit PRO. Kurs DevOps Bootcamp zawiera 4 lekcji w sumie.
Co nauczysz się w „Testy smoke, wycofywanie i powiadomienia”?
Weryfikowanie, odzyskiwanie i raportowanie wdrożenia. Ćwiczysz DevOps Bootcamp z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć DevOps Bootcamp?
Nie wymagamy żadnego doświadczenia. DevOps Bootcamp w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 4 z 4.
Ile czasu zajmuje lekcja „Testy smoke, wycofywanie i powiadomienia”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji DevOps Bootcamp?
Tak. Każda lekcja DevOps Bootcamp zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Architektura projektu: role i inventory
- Udostępnianie, wzmacnianie i inicjalizacja hostów
- Wdrożenie kroczące za load balancerem
- Testy smoke, wycofywanie i powiadomienia