Eigene Assertions mit dem fail-Modul
Beenden Sie ein Play mit einer eindeutigen Meldung.
Eigene Assertions mit dem fail-Modul ist eine kostenlose DevOps Bootcamp-Lektion auf CoddyKit. Dies ist Lektion 4 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.
Mit einer klaren Nachricht stoppen
Manchmal möchten Sie einen Play absichtlich mit einer hilfreichen Begründung anhalten. Das fail-Modul erledigt genau das. 🛑
Das fail-Modul
ansible.builtin.fail stoppt den aktuellen Host mit einer von Ihnen verfassten benutzerdefinierten Nachricht statt mit einem kryptischen Fehler.
- name: Refuse unsupported OS
ansible.builtin.fail:
msg: "This playbook supports Ubuntu only"fail mit when absichern
Ein einfaches fail stoppt immer. Kombinieren Sie es daher mit when. Der Play schlägt nur fehl, wenn Ihre Guard-Bedingung erfüllt ist.
- ansible.builtin.fail:
msg: "app_version is required"
when: app_version is not definedSchnell und früh fehlschlagen
Platzieren Sie Guard-Prüfungen am Anfang eines Plays. Fehlerhafte Eingaben früh zu erkennen ist besser, als erst auf halbem Weg einer Bereitstellung zu scheitern.
Das assert-Modul
ansible.builtin.assert eignet sich besser für Validierungen: Geben Sie ihm Bedingungen unter that, und es schlägt fehl, wenn eine davon falsch ist.
- ansible.builtin.assert:
that:
- app_port is defined
- app_port | int > 1024Benutzerdefinierte assert-Nachrichten
Fügen Sie assert fail_msg und success_msg hinzu, um für beide Ergebnisse eine verständliche Ausgabe zu erhalten. So gibt es bei jedem Durchlauf klares Feedback.
- ansible.builtin.assert:
that: disk_free > 500
fail_msg: "Need at least 500MB free"
success_msg: "Disk space OK"assert prüft mehrere Bedingungen gleichzeitig
assert akzeptiert unter that eine Liste. Jede Bedingung muss true sein; bei der ersten falschen Bedingung schlägt die Task mit Ihrer Nachricht fehl.
fail und assert
Verwenden Sie fail für einen einzelnen, beabsichtigten Stopp mit Logik in when; verwenden Sie assert, um eine Gruppe von Bedingungen kompakt zu validieren.
Werte interpolieren
Ihre msg kann Variablen für zusätzlichen Kontext enthalten. Zeigen Sie den fehlerhaften Wert an, damit die zuständige Person genau weiß, was zu korrigieren ist.
- ansible.builtin.fail:
msg: "Port {{ app_port }} is out of range"Assertions als Dokumentation
Gute Assertions dienen zugleich als lebende Dokumentation: Sie halten die Erwartungen an ein Playbook fest und setzen sie an einer Stelle durch. 📝
quiet-Modus für assert
Setzen Sie quiet bei assert auf true, um die Ausgabe für die einzelnen Bedingungen zu unterdrücken. Praktisch, wenn Sie nur Fehler interessieren und nicht die erfolgreichen Prüfungen.
- ansible.builtin.assert:
that: app_port is defined
quiet: trueKurzer Check
Wählen Sie das passende Werkzeug.
Zusammenfassung
Das fail-Modul stoppt einen Play mit einer klaren Nachricht, während assert Bedingungen sauber validiert. Sichern Sie Ihre Playbooks proaktiv ab. ✅
Häufig gestellte Fragen
Ist die Lektion „Eigene Assertions mit dem fail-Modul“ kostenlos?
Ja — der vollständige Text von „Eigene Assertions mit dem fail-Modul“ 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 „Eigene Assertions mit dem fail-Modul“?
Beenden Sie ein Play mit einer eindeutigen Meldung. 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 4 von 4.
Wie lange dauert die Lektion „Eigene Assertions mit dem fail-Modul“?
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
- Tasks mit block gruppieren
- Try / Catch mit rescue und always
- Fehler steuern: failed_when und ignore_errors
- Eigene Assertions mit dem fail-Modul