DevOps-bootcamp · leksjon

Ekstra variabler på kommandolinjen

Overstyr verdier under kjøring med -e.

Leksjon 3 av 413 trinn

Ekstra variabler på kommandolinjen er en gratis leksjon i DevOps-bootcamp på CoddyKit. Dette er leksjon 3 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.

Verdier under kjøring

Noen ganger vil De velge en verdi når De starter en play, i stedet for å bygge den inn i en fil. Det er dette extra vars brukes til. 🌟

Flagget -e

Send med extra vars ved hjelp av flagget -e (eller --extra-vars) til ansible-playbook. Hver av dem blir en variabel for hele kjøringen.

ansible-playbook site.yml -e "env=prod"

Flere key=value-par

Skill flere verdier med mellomrom i én streng omgitt av anførselstegn. Ansible tolker hvert key=value-par som en variabel.

ansible-playbook site.yml -e "env=prod port=443"

Gjenta -e

De kan også sende med -e flere ganger. Hver forekomst legger til sin egen variabel, noe som gjør lange kommandoer lettere å lese.

ansible-playbook site.yml -e env=prod -e port=443

JSON for komplekse datatyper

key=value gjør alt til en streng. For å sende tall, lister eller ordbøker bruker du JSON i extra vars i stedet.

ansible-playbook site.yml -e '{"port": 443}'

Last inn extra vars fra en fil

Sett @ foran verdien for å lese variabler fra en YAML- eller JSON-fil. Dette er nyttig for mange overstyringer.

ansible-playbook site.yml -e @overrides.yml

Extra vars vinner

En extra var overstyrer nesten alle andre kilder. Hvis env er satt i vars og på kommandolinjen, brukes verdien fra kommandolinjen.

En trygg standardverdi for overstyring

Kombiner extra vars med filteret default, slik at playet fortsatt fungerer når ingen overstyring er angitt.

name: "{{ env | default('dev') }}"

Nyttig for miljøer

Det samme playbooket kan målrettes mot dev, staging eller prod bare ved å endre én extra var ved oppstart. Én fil, mange mål.

ansible-playbook deploy.yml -e env=staging

Styr atferd med flagg

Extra vars fungerer godt som av/på-brytere. Kombiner en med en when-betingelse for å aktivere eller hoppe over en oppgave.

when: run_migrations | default(false)

Bruk anførselstegn rundt mellomrom med omhu

Hvis en verdi inneholder mellomrom, setter du hele paret i anførselstegn slik at skallet ikke deler det opp. Vær oppmerksom på shell quoting.

ansible-playbook s.yml -e "motd=Hello there"

Hurtigsjekk

Du har satt port i vars og sender også -e port=443. Hvilken verdi vinner?

Oppsummering

Du kan nå overstyre verdier ved oppstart med -e, sende JSON eller @-filer og stole på at extra vars overstyrer andre kilder. ✨

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 «Ekstra variabler på kommandolinjen» gratis?

Ja – du kan lese valgfritt 3 av leksjonene i læringsstien DevOps-bootcamp, inkludert «Ekstra variabler på kommandolinjen», 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 «Ekstra variabler på kommandolinjen»?

Overstyr verdier under kjøring med -e. 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 3 av 4.

Hvor lang tid tar leksjonen «Ekstra variabler på kommandolinjen»?

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