Definere og bruke vars i en play
Deklarer verdier og referer til dem.
Definere og bruke vars i en play er en gratis leksjon i Ansible Academy på CoddyKit. Dette er leksjon 1 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Ansible Academy, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Ansible Academy inneholder totalt 4 leksjoner.
Hvorfor variabler finnes
Hvis verdier som et portnummer eller et pakkenavn hardkodes overalt, blir endringer smertefulle. En variabel gir en verdi ett navn, slik at den kan gjenbrukes. 🌟
Seksjonen vars
Inne i en play legger De til en vars-nøkkel som inneholder en kobling mellom navn og verdier. Alt under den blir tilgjengelig for taskene i denne play-en.
- hosts: web
vars:
http_port: 80
app_name: shop
tasks: []Navngi variablene
Bruk små bokstaver, sifre og understreker i variabelnavn. Et tydelig navn som http_port er alltid bedre enn et kryptisk p1.
Variabler kan inneholde alle typer
En verdi kan være en streng, et tall, en boolsk verdi, en liste eller en dictionary. YAML avgjør typen ut fra hvordan verdien skrives.
vars:
max_clients: 200
debug: true
packages:
- nginx
- gitReferere til en variabel
For å bruke en verdi setter De navnet i doble krøllparenteser. Når De skriver {{ http_port }}, ber De Ansible sette inn den lagrede verdien.
tasks:
- debug:
msg: "Port is {{ http_port }}"Variabler inne i modulargumenter
En variabel kan settes inn i alle modulargumenter, ikke bare i meldinger. Her hentes name-argumentet fra en variabel.
tasks:
- apt:
name: "{{ app_name }}"
state: presentModulen debug
Modulen debug skriver ut en verdi under en kjøring. Den er nyttig når De vil kontrollere hva en variabel faktisk inneholder.
- debug:
var: http_portvar kontra msg i debug
Bruk var for å skrive ut den rå verdien til en variabel, eller msg for å skrive ut en setning med krøllparenteser inni. Dette er to ulike stiler.
- debug:
msg: "Serving {{ app_name }} on {{ http_port }}"vars_files for lengre lister
Når De har mange verdier, kan De flytte dem til en separat fil og peke til den med vars_files. Det holder play-en ryddig.
- hosts: web
vars_files:
- vars/main.yml
tasks: []vars_prompt for inndata
Trenger De en verdi under kjøring? vars_prompt stiller operatøren et spørsmål og lagrer svaret som en variabel.
vars_prompt:
- name: username
prompt: "Enter a username"Omfang: vars på play-nivå
Variabler som defineres i en plays vars, gjelder for alle tasks i den play-en, men ikke for andre plays i samme fil.
Rask kontroll
Hvordan refererer De til verdien til en variabel inne i en task?
Oppsummering
De har lært å deklarere verdier under vars, gi dem tydelige navn og hente dem frem igjen med doble krøllparenteser. Variabler gjør plays gjenbrukbare. ✨
Lær deg YAML 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
- 30
- Leksjoner
- 120
Ofte stilte spørsmål
Er leksjonen «Definere og bruke vars i en play» gratis?
Ja – hele teksten i «Definere og bruke vars i en play» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av Ansible Academy-kurset, kan du oppgradere til CoddyKit PRO. Kurset i Ansible Academy inneholder totalt 4 leksjoner.
Hva lærer jeg i «Definere og bruke vars i en play»?
Deklarer verdier og referer til dem. Du øver på Ansible Academy 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 Ansible Academy?
Ingen tidligere erfaring er nødvendig. Ansible Academy 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 1 av 4.
Hvor lang tid tar leksjonen «Definere og bruke vars i en play»?
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 Ansible Academy-leksjonen?
Ja. Alle Ansible Academy-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
- Definere og bruke vars i en play
- Syntaksen for {{ }}-substitusjon
- Ekstra variabler på kommandolinjen
- Hvor variabler kommer fra og prioritet