0Pricing
DevOps Bootcamp · Lektion

include_role und import_role zur Laufzeit

Rufen Sie Rollen während eines Plays dynamisch auf.

include_role und import_role zur Laufzeit 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.

Über die roles-Liste hinaus

Die roles-Liste auf oberster Ebene wendet Rollen an, bevor Tasks ausgeführt werden. Manchmal benötigen Sie eine Rolle mitten im Play, genau an der Stelle einer Task.

Eine Rolle als Task aufrufen

Sowohl include_role als auch import_role ermöglichen es Ihnen, eine Rolle innerhalb des tasks-Abschnitts aufzurufen, direkt zwischen Ihren anderen Schritten.

tasks:
  - import_role:
      name: nginx

import_role ist statisch

import_role wird beim Parsen des Playbooks verarbeitet, bevor die Ausführung beginnt. Seine Tasks werden frühzeitig eingefügt und können daher nicht von Laufzeitdaten abhängen.

include_role ist dynamisch

include_role wird während der Ausführung verarbeitet, sobald diese Task erreicht wird. Es kann auf Fakten und registrierte Ergebnisse reagieren.

tasks:
  - include_role:
      name: backup
    when: do_backup

Eine Rolle in einer Schleife ausführen

Da include_role dynamisch ausgeführt wird, können Sie es in eine loop-Schleife setzen und dieselbe Rolle bei jedem Durchlauf mit anderen Variablen anwenden.

- include_role:
    name: deploy_app
  loop: "{{ app_list }}"

import_role kann keine Schleife verwenden

Da import_role zur Parse-Zeit aufgelöst wird, unterstützt es loop nicht. Verwenden Sie include_role, wenn Sie eine Rolle wiederholt ausführen müssen.

So verhält sich when unterschiedlich

Ein when bei import_role überträgt die Bedingung auf jede darin enthaltene Task. Ein when bei include_role steuert die gesamte Rolle als eine Einheit.

Variablen in beiden Varianten übergeben

Beide Varianten akzeptieren vars, um die Rolle zu parametrisieren, genau wie die roles-Liste. Die Werte werden direkt an die eingebundene Rolle weitergegeben.

- include_role:
    name: web
  vars:
    http_port: 8080

Tags sowie statisch und dynamisch

Bei import_role sind Tags der importierten Tasks für --list-tags sichtbar. Bei include_role müssen Sie Tags auf den Include selbst anwenden.

Das richtige Werkzeug wählen

Verwenden Sie import_role für eine vorhersehbare Struktur, die immer ausgeführt wird. Verwenden Sie include_role, wenn die Rolle bedingt oder in einer Schleife ausgeführt werden muss.

Dasselbe Muster auf zwei Ebenen

Ansible bietet dieselbe Trennung zwischen statisch und dynamisch auch für Task-Dateien: import_tasks und include_tasks entsprechen diesen Rollen-Schlüsselwörtern genau.

Kurzer Check

Rufen Sie sich in Erinnerung, welches Schlüsselwort eine Rolle innerhalb einer Schleife anwenden kann.

Zusammenfassung

Verwenden Sie import_role für statische Strukturen zur Parse-Zeit und include_role für dynamische Aufrufe zur Laufzeit mit Schleifen und Bedingungen. 🔁

Häufig gestellte Fragen

Ist die Lektion „include_role und import_role zur Laufzeit“ kostenlos?

Ja — der vollständige Text von „include_role und import_role zur Laufzeit“ 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 „include_role und import_role zur Laufzeit“?

Rufen Sie Rollen während eines Plays dynamisch auf. 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 „include_role und import_role zur Laufzeit“?

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

  1. Rollenabhängigkeiten in meta/main.yml
  2. defaults und vars: Die Reihenfolge beim Überschreiben
  3. include_role und import_role zur Laufzeit
  4. allow_duplicates und Idempotenz von Rollen
← Zurück zu DevOps Bootcamp