DevOps-bootcamp · leksjon

Hvor variabler kommer fra og prioritet

Et første kart over variabelkilder.

Leksjon 4 av 413 trinn

Hvor variabler kommer fra og prioritet er en gratis leksjon i DevOps-bootcamp på CoddyKit. Dette er leksjon 4 av 4. Du kan lese valgfritt 3 leksjoner fra denne læringsstien gratis i sin helhet – deretter låser CoddyKit PRO opp alle leksjoner, samt praktisk øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i DevOps-bootcamp, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i DevOps-bootcamp inneholder totalt 4 leksjoner.

Så mange kilder

Den samme variabelen kan settes mange steder: i inventory, play-vars, filer, på kommandolinjen og mer. Så hvilken verdi vinner faktisk? 🌟

Prioriteten avgjør

Ansible følger en fast rekkefølge som kalles variabelprioritet. Når et navn er satt to ganger, overstyrer kilden med høyere prioritet den med lavere prioritet.

Rollenes defaults har lavest prioritet

Verdier i en rolles mappe for defaults ligger helt nederst. De er ment å være enkle å overstyre med nesten alt annet.

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

Inventory-variabler

Variabler som er satt i inventory, for eksempel i group_vars eller host_vars, har høyere prioritet enn rolledefaults, men lavere enn variabler på play-nivå.

# group_vars/web.yml
http_port: 8080

Play-vars har høyere prioritet

Variabler under nøkkelen vars i et play har høyere prioritet enn inventory-verdier. Definerer du en verdi her, overstyrer den alt i group_vars.

- hosts: web
  vars:
    http_port: 9090

Task-vars gjelder snevert

Du kan knytte vars til én oppgave. Verdien gjelder bare der og har høyere prioritet enn bredere play-vars.

- debug:
    var: http_port
  vars:
    http_port: 1234

Registrerte variabler og set_fact

Verdier du henter inn med register eller setter under en kjøring med set_fact, ligger høyt i rekkefølgen, rett under extra vars.

- set_fact:
    http_port: 7000

Extra vars ligger øverst

Extra vars fra kommandolinjen overstyrer alt annet. Det du sender med -e, er det endelige svaret for den kjøringen.

ansible-playbook site.yml -e http_port=443

Siste definisjon vinner på samme nivå

Når to kilder har samme nivå, får den som lastes inn sist, virkning. Prioritet først, innlastingsrekkefølge for å avgjøre likhet.

Hold det enkelt

Du trenger sjelden å huske hele oversikten. Legg fornuftige verdier i defaults, overstyr bevisst, og unngå å sette det samme navnet overalt.

Feilsøk verdien du fikk

Usikker på hvilken verdi som vant? Skriv den ut med debug for å se det løste resultatet før du stoler på det i produksjon.

- debug:
    var: http_port

Hurtigsjekk

Hvilken variabelkilde har høyest prioritet?

Oppsummering

Du har kartlagt prioritetshierarkiet: defaults lavest, deretter inventory, play- og task-vars, så set_fact, med extra vars øverst. ✨

Gratis å komme i gang

Lær deg DevOps-bootcamp med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
142
Leksjoner
568

Ofte stilte spørsmål

Er leksjonen «Hvor variabler kommer fra og prioritet» gratis?

Ja – du kan lese valgfritt 3 av leksjonene i læringsstien DevOps-bootcamp, inkludert «Hvor variabler kommer fra og prioritet», gratis i sin helhet her på nettet. Deretter låser CoddyKit PRO opp alle leksjoner, samt interaktiv øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Kurset i DevOps-bootcamp inneholder totalt 4 leksjoner.

Hva lærer jeg i «Hvor variabler kommer fra og prioritet»?

Et første kart over variabelkilder. Du øver på DevOps-bootcamp med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med DevOps-bootcamp?

Ingen tidligere erfaring er nødvendig. DevOps-bootcamp på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 4 av 4.

Hvor lang tid tar leksjonen «Hvor variabler kommer fra og prioritet»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne DevOps-bootcamp-leksjonen?

Ja. Alle DevOps-bootcamp-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. Definere og bruke vars i en play
  2. Syntaksen for {{ }}-substitusjon
  3. Ekstra variabler på kommandolinjen
  4. Hvor variabler kommer fra og prioritet
← Tilbake til DevOps-bootcamp