DevOps-bootcamp · Lektion

defaults jämfört med vars: ordningen för överskrivning

Utforma tydliga gränssnitt för rollvariabler

Lektion 2 av 413 steg

defaults jämfört med vars: ordningen för överskrivning är en gratis lektion i DevOps-bootcamp på CoddyKit. Detta är lektion 2 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.

Två variabelmappar

En roll kan definiera variabler på två platser: defaults/main.yml och vars/main.yml. De ser likadana ut men fungerar mycket olika.

defaults är mjuka

Värden i defaults/main.yml har lägst prioritet. De är försiktiga standardförslag som nästan vad som helst annat kan åsidosätta.

# defaults/main.yml
http_port: 80
workers: 4

vars är starka

Värden i vars/main.yml har hög prioritet. De är fasta beslut som rollen kräver och som är svåra att åsidosätta.

# vars/main.yml
config_path: /etc/myapp

defaults är ditt publika API

Lägg allt som en användare kan vilja justera i defaults. Det signalerar: ändra mig fritt. Så utformar du en flexibel och återanvändbar roll.

vars är interna konstanter

Reservera vars för värden som rollen behöver för att fungera men som användare inte bör ändra, till exempel en intern sökväg eller ett fast paketnamn.

Åsidosätt ett standardvärde enkelt

En användare kan åsidosätta ett default från group_vars, host_vars, play-körningen eller kommandoraden. Den enklaste åsidosättningen gäller direkt.

roles:
  - role: web
    vars:
      http_port: 8080

Det är svårt att åsidosätta ett vars-värde

Rollens vars har högre prioritet än group_vars, host_vars och play-variabler. Bara extra-vars på kommandoraden har högre prioritet, så använd vars sparsamt.

Extra-vars vinner alltid

Variabler som skickas med -e på kommandoraden har högre prioritet än alla andra källor, inklusive rollens vars. De är den yttersta åsidosättningen.

ansible-playbook site.yml -e http_port=9090

Den mentala ordningen

Kom ihåg stegen: defaults längst ned, sedan inventarie- och play-variabler, därefter rollens vars nära toppen och slutligen extra-vars överst.

Designtips

Föredra defaults för nästan allt. Använd vars bara när ett värde verkligen måste vara låst. Flexibla roller gör team nöjda.

Dokumentera dina standardvärden

Kommentera varje värde i defaults/main.yml. Eftersom användare kommer att justera dem gör tydliga anteckningar rollen självförklarande.

Snabb kontroll

Fundera på i vilken fil en användare enklast kan åsidosätta ett värde.

Sammanfattning

Använd defaults för justerbara värden som användare kan åsidosätta och vars för låsta interna konstanter. Extra-vars på CLI slår allt annat. 🎚️

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 ”defaults jämfört med vars: ordningen för överskrivning” gratis?

Ja – du kan läsa vilka 3 lektioner som helst i lärvägen DevOps-bootcamp, inklusive ”defaults jämfört med vars: ordningen för överskrivning”, 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 ”defaults jämfört med vars: ordningen för överskrivning”?

Utforma tydliga gränssnitt för rollvariabler 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 2 av 4.

Hur lång tid tar lektionen ”defaults jämfört med vars: ordningen för överskrivning”?

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. Rollberoenden i meta/main.yml
  2. defaults jämfört med vars: ordningen för överskrivning
  3. include_role och import_role vid körning
  4. allow_duplicates och rollernas idempotens
← Tillbaka till DevOps-bootcamp