Einen Task nur bei True ausführen
Steuern Sie Tasks über eine boolesche Bedingung.
Einen Task nur bei True ausführen ist eine kostenlose DevOps Bootcamp-Lektion auf CoddyKit. Dies ist Lektion 1 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des DevOps Bootcamp-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der DevOps Bootcamp-Kurs umfasst insgesamt 4 Lektionen.
Tasks, die Entscheidungen treffen
Manchmal soll ein Task nur unter bestimmten Bedingungen ausgeführt werden. Das Schlüsselwort when steuert einen Task anhand einer von Ihnen festgelegten Bedingung. 🚦
Das Schlüsselwort when
Fügen Sie jedem Task when hinzu. Ist der Ausdruck wahr, wird der Task ausgeführt; ist er falsch, überspringt Ansible ihn und fährt fort.
- name: Reboot the box
ansible.builtin.reboot:
when: reboot_requiredKeine geschweiften Klammern erforderlich
Innerhalb von when schreiben Sie den unveränderten Ausdruck. Anders als bei Zeichenketten lassen Sie die doppelten geschweiften Klammern weg, weil when bereits ein Jinja2-Kontext ist.
when: ansible_distribution == "Ubuntu"Wahrheitsgemäße Variablen
Eine einfache boolesche Variable kann direkt verwendet werden. Ist install_extras wahr, wird der Task ausgeführt; andernfalls wird er stillschweigend übersprungen.
- name: Add extra tools
ansible.builtin.package:
name: htop
when: install_extrasVergleiche
Bedingungen können Werte vergleichen. Operatoren wie ==, !=, < und > ermöglichen es, Tasks anhand von Zahlen und Zeichenketten zu steuern. ⚖️
when: app_version == "2.0"Übersprungen oder fehlgeschlagen
Ein übersprungener Task ist kein Fehler. In der Ausg abe sehen Sie skipping statt ok oder changed, und das Play wird fortgesetzt.
Eine Bedingung negieren
Verwenden Sie not, um einen Test umzukehren. Dieser Task wird nur ausgeführt, wenn der Service noch nicht installiert ist.
when: not service_installedDefiniert oder nicht
Sie können prüfen, ob eine Variable vorhanden ist. Der Test is defined schützt vor Fehlern durch nicht definierte Variablen.
when: custom_port is definedwhen wird pro Host ausgewertet
Jeder Host wird unabhängig ausgewertet. Eine Bedingung kann auf einem Server wahr und auf einem anderen im selben play falsch sein.
Bedingungen einfach halten
Lesbare Bedingungen sind zuverlässige Bedingungen. Wenn ein when-Ausdruck lang wird, teilen Sie die Logik auf oder verwenden Sie eine Variable, die die Absicht benennt.
Deklarativ statt imperativ
when hält Playbooks deklarativ: Sie beschreiben den Fall, und Ansible entscheidet pro Host. If-Blöcke oder verzweigende Skripte sind nicht erforderlich. 🎯
Kurzer Check
Bestätigen wir, wie when funktioniert.
Zusammenfassung
Das Schlüsselwort when führt einen Task nur aus, wenn sein Ausdruck wahr ist. Falsch bedeutet überspringen, nicht fehlschlagen; die Auswertung erfolgt pro Host. ✅
Häufig gestellte Fragen
Ist die Lektion „Einen Task nur bei True ausführen“ kostenlos?
Ja — der vollständige Text von „Einen Task nur bei True ausführen“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des DevOps Bootcamp-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der DevOps Bootcamp-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Einen Task nur bei True ausführen“?
Steuern Sie Tasks über eine boolesche Bedingung. Du übst DevOps Bootcamp mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um DevOps Bootcamp zu starten?
Keine Vorkenntnisse erforderlich. DevOps Bootcamp auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 1 von 4.
Wie lange dauert die Lektion „Einen Task nur bei True ausführen“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser DevOps Bootcamp-Lektion Code schreiben und ausführen?
Ja. Jede DevOps Bootcamp-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Einen Task nur bei True ausführen
- Nach Fakten zur Betriebssystemfamilie verzweigen
- Bedingungen mit and / or kombinieren
- Ein Ergebnis registrieren und anschließend entscheiden