0Pricing
DevOps Bootcamp · Lekcja

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: true

Sprawdź 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.yml

Wycofaj 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/app

Zawsze 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: lb1

Reaguj 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

  1. Architektura projektu: role i inventory
  2. Udostępnianie, wzmacnianie i inicjalizacja hostów
  3. Wdrożenie kroczące za load balancerem
  4. Testy smoke, wycofywanie i powiadomienia
← Powrót do DevOps Bootcamp