0Pricing
Ansible Academy · Lekcja

Własne asercje za pomocą modułu fail

Zatrzymywanie play z jasnym komunikatem.

Własne asercje za pomocą modułu fail to bezpłatna lekcja Ansible Academy 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 Ansible Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Ansible Academy zawiera 4 lekcji w sumie.

Zatrzymaj działanie z jasnym komunikatem

Czasami celowo chcesz zatrzymać play i podać pomocne uzasadnienie. Moduł fail robi dokładnie to. 🛑

Moduł fail

ansible.builtin.fail zatrzymuje bieżący host i wyświetla napisany przez Ciebie własny komunikat zamiast zagadkowego błędu.

- name: Refuse unsupported OS
  ansible.builtin.fail:
    msg: "This playbook supports Ubuntu only"

Warunkowo uruchamiaj fail za pomocą when

Samodzielny fail zawsze zatrzymuje działanie, dlatego należy połączyć go z when. Play zakończy się niepowodzeniem tylko wtedy, gdy zostanie spełniony warunek ochronny.

- ansible.builtin.fail:
    msg: "app_version is required"
  when: app_version is not defined

Zatrzymuj szybko i wcześnie

Umieszczaj kontrole ochronne na początku play. Wczesne wykrycie nieprawidłowych danych wcześnie jest lepsze niż niepowodzenie w połowie wdrożenia.

Moduł assert

ansible.builtin.assert lepiej nadaje się do walidacji: przekazuje się mu warunki w that, a zadanie kończy się niepowodzeniem, jeśli którykolwiek z nich jest fałszywy.

- ansible.builtin.assert:
    that:
      - app_port is defined
      - app_port | int > 1024

Własne komunikaty assert

Dodaj fail_msg i success_msg do assert, aby uzyskać przyjazne dane wyjściowe w obu przypadkach. Za każdym razem otrzymasz jasną informację zwrotną.

- ansible.builtin.assert:
    that: disk_free > 500
    fail_msg: "Need at least 500MB free"
    success_msg: "Disk space OK"

assert sprawdza wiele warunków naraz

assert przyjmuje listę w that. Każdy warunek musi być prawdziwy; pierwszy fałszywy warunek kończy zadanie niepowodzeniem z podanym komunikatem.

fail a assert

Używaj fail do pojedynczego, celowego zatrzymania sterowanego logiką w when, a assert — do zwięzłej walidacji zestawu warunków.

Interpoluj wartości

W msg można umieścić zmienne, aby dodać kontekst. Pokaż nieprawidłową wartość, aby osoba obsługująca system dokładnie wiedziała, co należy poprawić.

- ansible.builtin.fail:
    msg: "Port {{ app_port }} is out of range"

Asercje jako dokumentacja

Dobre asercje pełnią również funkcję żywej dokumentacji: określają oczekiwania wobec playbooka i egzekwują je w jednym miejscu. 📝

Tryb quiet dla assert

Ustaw quiet na true w assert, aby pominąć dane wyjściowe dla poszczególnych warunków. Przydaje się, gdy interesują Państwa tylko niepowodzenia, a nie pomyślnie zakończone kontrole.

- ansible.builtin.assert:
    that: app_port is defined
    quiet: true

Szybki test

Wybierzmy właściwe narzędzie.

Podsumowanie

Moduł fail zatrzymuje play i wyświetla jasny komunikat, a assert przejrzyście sprawdza warunki. Zabezpieczaj playbooki z wyprzedzeniem. ✅

Często zadawane pytania

Czy lekcja „Własne asercje za pomocą modułu fail” jest bezpłatna?

Tak — pełny tekst „Własne asercje za pomocą modułu fail” 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 Ansible Academy, przejdź na CoddyKit PRO. Kurs Ansible Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „Własne asercje za pomocą modułu fail”?

Zatrzymywanie play z jasnym komunikatem. Ćwiczysz Ansible Academy 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ąć Ansible Academy?

Nie wymagamy żadnego doświadczenia. Ansible Academy 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 „Własne asercje za pomocą modułu fail”?

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 Ansible Academy?

Tak. Każda lekcja Ansible Academy 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. Grupowanie zadań za pomocą block
  2. Try / catch z rescue i always
  3. Kontrolowanie błędów: failed_when i ignore_errors
  4. Własne asercje za pomocą modułu fail
← Powrót do Ansible Academy