Playbooks mit import und include aufteilen
Statische und dynamische Einbindung von Tasks.
Playbooks mit import und include aufteilen ist eine kostenlose DevOps Bootcamp-Lektion auf CoddyKit. Dies ist Lektion 3 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.
Eine riesige Datei ist problematisch
Ein 500-zeiliges Playbook ist schwer zu lesen und wiederzuverwenden. Ansible ermöglicht es Ihnen, die Arbeit in Teile aufzuteilen und diese bei Bedarf einzubinden. ✂️
Zwei Familien: import und include
Ansible bietet zwei Arten der Wiederverwendung: import_* für statisches und include_* für dynamisches Einbinden. Der Unterschied liegt im Zeitpunkt.
Statisches import_tasks
import_tasks wird beim Parsen des Playbooks vorverarbeitet, bevor irgendeine Task ausgeführt wird. Dadurch ist das Verhalten festgelegt und vorhersehbar.
- import_tasks: setup.ymlDynamisches include_tasks
include_tasks wird zur Laufzeit und der Reihe nach verarbeitet. Dadurch kann es auf Variablen und Ergebnisse reagieren, die zuvor im Play festgelegt wurden.
- include_tasks: "{{ os_family }}.yml"Warum der Zeitpunkt wichtig ist
Da import statisch ist, können Sie in seinem Dateinamen keine Laufzeitvariable verwenden. Dafür benötigen Sie das dynamische include_tasks.
Schleifen benötigen include
Möchten Sie eine ganze Datei wiederholen? Nur include_tasks unterstützt loop, da die zu verwendenden Dateien während der Ausführung des Plays festgelegt werden.
- include_tasks: user.yml
loop: "{{ users }}"Tags verhalten sich unterschiedlich
Ein Tag für import_tasks gilt für jede importierte Task, während ein Tag für include_tasks nur für die include-Anweisung selbst gilt.
Ganze Playbooks importieren
Verwenden Sie auf oberster Ebene import_playbook, um ganze Playbooks zu kombinieren. Genau so stellt site.yml Ihr Projekt zusammen.
- import_playbook: webservers.yml
- import_playbook: dbservers.ymlWiederverwendung in mehreren Plays
Gemeinsam verwendete Task-Dateien, etwa für eine allgemeine Bootstrap-Konfiguration, können in viele Playbooks importiert werden. So schreiben Sie die Logik einmal und verwenden sie überall wieder.
Eine sinnvolle Standardeinstellung
Bevorzugen Sie import für vorhersehbare Schritte, die immer ausgeführt werden. Verwenden Sie include nur, wenn Sie tatsächlich Laufzeitentscheidungen wie Schleifen oder variable Dateinamen benötigen.
Aufteilung in der Praxis
Hier importiert ein Play zunächst eine statische Setup-Datei und bindet anschließend bedingt eine betriebssystemspezifische Datei ein. Zwei Werkzeuge, zwei Aufgaben. 🎯
tasks:
- import_tasks: base.yml
- include_tasks: "{{ ansible_os_family }}.yml"Schnelltest
Sie benötigen einen Dateinamen, der aus einer Laufzeitvariable erstellt wird. Welche Direktive funktioniert?
Zusammenfassung
Sie haben gelernt, dass import_* statisch ist und im Voraus geparst wird, während include_* dynamisch ist und an Ort und Stelle ausgeführt wird. Dadurch werden Schleifen und variable Dateinamen ermöglicht. ✅
Häufig gestellte Fragen
Ist die Lektion „Playbooks mit import und include aufteilen“ kostenlos?
Ja — der vollständige Text von „Playbooks mit import und include aufteilen“ 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 „Playbooks mit import und include aufteilen“?
Statische und dynamische Einbindung von Tasks. 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 3 von 4.
Wie lange dauert die Lektion „Playbooks mit import und include aufteilen“?
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
- Die empfohlene Verzeichnisstruktur
- group_vars- und host_vars-Verzeichnisse
- Playbooks mit import und include aufteilen
- Namensgebung, Kommentare und skalierbarer Stil