Uruchamianie zadania tylko, gdy warunek jest True
Uzależnianie zadań od warunku logicznego.
Uruchamianie zadania tylko, gdy warunek jest True to bezpłatna lekcja DevOps Bootcamp na CoddyKit. To lekcja 1 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.
Zadania podejmujące decyzje
Czasami zadanie powinno zostać uruchomione tylko w określonych sytuacjach. Słowo kluczowe when uzależnia uruchomienie zadania od wybranego warunku. 🚦
Słowo kluczowe when
Dodaj when do dowolnego zadania. Jeśli wyrażenie jest prawdziwe, zadanie zostaje uruchomione; jeśli jest fałszywe, Ansible je pomija i przechodzi dalej.
- name: Reboot the box
ansible.builtin.reboot:
when: reboot_requiredNie potrzebujesz nawiasów klamrowych
W sekcji when należy napisać samo wyrażenie. W przeciwieństwie do ciągów znaków pomija się podwójne nawiasy klamrowe, ponieważ when jest już kontekstem Jinja2.
when: ansible_distribution == "Ubuntu"Zmienne traktowane jako prawda
Prosta zmienna logiczna działa bezpośrednio. Jeśli install_extras ma wartość true, zadanie zostanie uruchomione; w przeciwnym razie zostanie po cichu pominięte.
- name: Add extra tools
ansible.builtin.package:
name: htop
when: install_extrasPorównania
Warunki mogą porównywać wartości. Operatory takie jak ==, !=, < i > pozwalają uzależniać uruchomienie zadań od liczb i ciągów znaków. ⚖️
when: app_version == "2.0"Pominięte a zakończone niepowodzeniem
Pominięcie zadania nie oznacza niepowodzenia. W danych wyjściowych przebiegu zobaczą Państwo skipping zamiast ok lub changed, a play będzie kontynuowany.
Negowanie warunku
Użyj not, aby odwrócić wynik testu. To zadanie zostanie uruchomione tylko wtedy, gdy usługa nie jest jeszcze zainstalowana.
when: not service_installedZdefiniowane czy nie
Można sprawdzić, czy zmienna istnieje. Test is defined chroni przed błędami wynikającymi z użycia niezdefiniowanej zmiennej.
when: custom_port is definedwhen działa dla każdego hosta
Każdy host jest oceniany niezależnie. W ramach tego samego play warunek może być prawdziwy na jednym serwerze, a fałszywy na innym.
Warunki powinny być proste
Czytelne warunki są niezawodne. Jeśli wyrażenie when staje się długie, należy podzielić logikę lub użyć zmiennej opisującej jej znaczenie.
Warunkowo, nie imperatywnie
when zachowuje deklaratywny charakter playbooków: opisują Państwo przypadek, a Ansible podejmuje decyzję dla każdego hosta. Nie są potrzebne bloki if ani skrypty z rozgałęzieniami. 🎯
Szybki test
Sprawdźmy, jak działa when.
Podsumowanie
Słowo kluczowe when uruchamia zadanie tylko wtedy, gdy jego wyrażenie jest prawdziwe. Fałsz oznacza pominięcie, a nie błąd; warunek jest oceniany osobno dla każdego hosta. ✅
Często zadawane pytania
Czy lekcja „Uruchamianie zadania tylko, gdy warunek jest True” jest bezpłatna?
Tak — pełny tekst „Uruchamianie zadania tylko, gdy warunek jest True” 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 „Uruchamianie zadania tylko, gdy warunek jest True”?
Uzależnianie zadań od warunku logicznego. Ć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 1 z 4.
Ile czasu zajmuje lekcja „Uruchamianie zadania tylko, gdy warunek jest True”?
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
- Uruchamianie zadania tylko, gdy warunek jest True
- Rozgałęzianie na podstawie faktów o rodzinie systemu
- Łączenie warunków za pomocą and / or
- Rejestrowanie wyniku i podejmowanie decyzji