DevOps-bootcamp · Lektion

Var variabler kommer ifrån och deras prioritet

En första översikt över variabelkällor.

Lektion 4 av 413 steg

Var variabler kommer ifrån och deras prioritet är en gratis lektion i DevOps-bootcamp på CoddyKit. Detta är lektion 4 av 4. Du kan läsa vilka 3 lektioner som helst i den här lärvägen kostnadsfritt i sin helhet – därefter låser CoddyKit PRO upp alla lektioner, plus praktisk övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Den ingår i lärvägen för DevOps-bootcamp, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i DevOps-bootcamp innehåller totalt 4 lektioner.

Så många källor

Samma variabel kan sättas på många ställen: inventory, play vars, filer, CLI med mera. Så vilket värde vinner egentligen? 🌟

Precedence avgör

Ansible följer en fast ordning som kallas variabelprioritet. När ett namn anges två gånger åsidosätter källan med högre prioritet den med lägre prioritet.

Role defaults ligger lägst

Värden i en rolls mapp för defaults ligger längst ner. De är avsedda att enkelt kunna åsidosättas av nästan allt annat.

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

Variabler i inventory

Variabler som anges i ditt inventory, till exempel i group_vars eller host_vars, har högre prioritet än role defaults men lägre än variabler på play-nivå.

# group_vars/web.yml
http_port: 8080

Play vars ligger högre

Variabler under ett plays vars-nyckel har högre prioritet än värden i inventory. Definierar du ett värde här går det före allt i group_vars.

- hosts: web
  vars:
    http_port: 9090

Task vars är avgränsade

Du kan koppla vars till en enskild task. Värdet gäller bara där och har högre prioritet än bredare play vars.

- debug:
    var: http_port
  vars:
    http_port: 1234

Registered och set_fact

Värden som du fångar med register eller anger under körningen med set_fact ligger högt i ordningen, strax under extra vars.

- set_fact:
    http_port: 7000

Extra vars ligger högst

Extra vars från kommandoraden går före allt annat. Det du skickar med -e är det slutgiltiga värdet under den körningen.

ansible-playbook site.yml -e http_port=443

Den sista definitionen vinner inom samma nivå

När två källor ligger på samma nivå får den som lästes in sist genomslag. Först avgör prioriteten, sedan avgör inläsningsordningen vid lika resultat.

Håll det enkelt

Du behöver sällan memorera hela tabellen. Lägg rimliga värden i defaults, åsidosätt medvetet och undvik att ange samma namn överallt.

Felsök det faktiska värdet

Osäker på vilket värde som vann? Skriv ut det med debug för att se det lösta resultatet innan du litar på det i produktion.

- debug:
    var: http_port

Snabbkontroll

Vilken källa till en variabel har högst prioritet?

Sammanfattning

Du har kartlagt prioritetsordningen: defaults lägst, sedan inventory samt play- och task-variabler, därefter set_fact och överst extra vars. ✨

Gratis att börja

Lär dig DevOps-bootcamp med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
142
Lektioner
568

Vanliga frågor

Är lektionen ”Var variabler kommer ifrån och deras prioritet” gratis?

Ja – du kan läsa vilka 3 lektioner som helst i lärvägen DevOps-bootcamp, inklusive ”Var variabler kommer ifrån och deras prioritet”, kostnadsfritt i sin helhet här på webben. Därefter låser CoddyKit PRO upp alla lektioner, plus interaktiv övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Kursen i DevOps-bootcamp innehåller totalt 4 lektioner.

Vad lär jag mig i ”Var variabler kommer ifrån och deras prioritet”?

En första översikt över variabelkällor. Ni övar på DevOps-bootcamp med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig DevOps-bootcamp?

Du behöver inga förkunskaper. Utbildningen i DevOps-bootcamp på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 4 av 4.

Hur lång tid tar lektionen ”Var variabler kommer ifrån och deras prioritet”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här DevOps-bootcamp-lektionen?

Ja. Varje DevOps-bootcamp-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. Definiera och använda vars i ett play
  2. Substitutionssyntaxen {{ }}
  3. Extra variabler på kommandoraden
  4. Var variabler kommer ifrån och deras prioritet
← Tillbaka till DevOps-bootcamp