0Pricing
Ansible Academy · Lektion

Woher Variablen kommen und welche Vorrang haben

Eine erste Übersicht über Variablenquellen.

Woher Variablen kommen und welche Vorrang haben ist eine kostenlose Ansible Academy-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 Ansible Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Ansible Academy-Kurs umfasst insgesamt 4 Lektionen.

So viele Quellen

Dieselbe Variable kann an vielen Stellen gesetzt werden: im Inventory, in Play-Variablen, Dateien, der CLI und an weiteren Stellen. Welcher Wert hat also tatsächlich Vorrang? 🌟

Die Präzedenz entscheidet

Ansible folgt einer festen Reihenfolge, der sogenannten Variablenpräzedenz. Wenn ein Name zweimal gesetzt wird, überschreibt die Quelle mit höherer Priorität die Quelle mit niedrigerer Priorität.

Rollen-Defaults haben die niedrigste Priorität

Werte im Ordner defaults einer Rolle stehen ganz unten. Sie sind dafür gedacht, von fast allem anderen problemlos überschrieben werden zu können.

# roles/web/defaults/main.yml
http_port: 80

Inventory-Variablen

Variablen in Ihrem Inventory, etwa in group_vars oder host_vars, haben eine höhere Priorität als Rollen-Defaults, aber eine niedrigere als Variablen auf Play-Ebene.

# group_vars/web.yml
http_port: 8080

Play-Variablen stehen höher

Variablen unter dem Schlüssel vars eines Plays haben Vorrang vor Inventory-Werten. Definieren Sie hier einen Wert, hat er Vorrang vor allem in group_vars.

- hosts: web
  vars:
    http_port: 9090

Task-Variablen gelten eng begrenzt

Sie können einer einzelnen Task vars zuweisen. Dieser Wert gilt nur dort und hat eine höhere Priorität als übergeordnete Play-Variablen.

- debug:
    var: http_port
  vars:
    http_port: 1234

register und set_fact

Werte, die Sie mit register erfassen oder während eines Laufs mit set_fact setzen, stehen in der Rangfolge weit oben, direkt unter den Extra-Variablen.

- set_fact:
    http_port: 7000

Extra-Variablen stehen ganz oben

Extra-Variablen aus der Befehlszeile haben Vorrang vor allem anderen. Was Sie mit -e übergeben, ist für diesen Lauf endgültig.

ansible-playbook site.yml -e http_port=443

Bei gleicher Ebene gewinnt die letzte Definition

Wenn zwei Quellen dieselbe Ebene haben, gilt die zuletzt geladene. Zuerst entscheidet die Präzedenz, bei Gleichstand die Ladereihenfolge.

Halten Sie es einfach

Sie müssen sich selten die gesamte Rangfolge merken. Legen Sie sinnvolle Werte in defaults fest, überschreiben Sie bewusst und vermeiden Sie es, denselben Namen überall zu setzen.

Den erhaltenen Wert mit debug prüfen

Unsicher, welcher Wert gewonnen hat? Geben Sie ihn mit debug aus, um das aufgelöste Ergebnis zu sehen, bevor Sie ihm in der Produktion vertrauen.

- debug:
    var: http_port

Schnelltest

Welche Quelle einer Variable hat die höchste Priorität?

Zusammenfassung

Sie haben die Rangfolge der Präzedenz kennengelernt: defaults stehen ganz unten, gefolgt von Inventory-, Play- und Task-Variablen, dann set_fact, während Extra-Variablen ganz oben stehen. ✨

Häufig gestellte Fragen

Ist die Lektion „Woher Variablen kommen und welche Vorrang haben“ kostenlos?

Ja — der vollständige Text von „Woher Variablen kommen und welche Vorrang haben“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Ansible Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Ansible Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Woher Variablen kommen und welche Vorrang haben“?

Eine erste Übersicht über Variablenquellen. Du übst Ansible Academy 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 Ansible Academy zu starten?

Keine Vorkenntnisse erforderlich. Ansible Academy 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 „Woher Variablen kommen und welche Vorrang haben“?

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 Ansible Academy-Lektion Code schreiben und ausführen?

Ja. Jede Ansible Academy-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. vars in einem Play definieren und verwenden
  2. Die {{ }}-Substitutionssyntax
  3. Zusätzliche Variablen in der Kommandozeile
  4. Woher Variablen kommen und welche Vorrang haben
← Zurück zu Ansible Academy