Kør kun en task, når betingelsen er True
Beting tasks af en boolsk betingelse.
Kør kun en task, når betingelsen er True er en gratis Ansible Academy-lektion på CoddyKit. Dette er lektion 1 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i Ansible Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Ansible Academy-kurset indeholder 4 lektioner i alt.
Opgaver, der træffer beslutninger
Nogle gange skal en opgave kun køre i bestemte tilfælde. Nøgleordet when lader dig styre en opgave med en betingelse efter eget valg. 🚦
Nøgleordet when
Føj when til enhver opgave. Hvis udtrykket er sandt, kører opgaven; hvis det er falsk, springer Ansible den over og fortsætter.
- name: Reboot the box
ansible.builtin.reboot:
when: reboot_requiredIngen krøllede parenteser nødvendige
I when skriver du selve udtrykket. I modsætning til strenge udelader du de dobbelte krøllede parenteser, fordi when allerede er en Jinja2-kontekst.
when: ansible_distribution == "Ubuntu"Variabler med sandhedsværdi
En simpel boolesk variabel fungerer direkte. Hvis install_extras er true, kører opgaven; ellers springes den stille over.
- name: Add extra tools
ansible.builtin.package:
name: htop
when: install_extrasSammenligninger
Betingelser kan sammenligne værdier. Operatorer som ==, !=, < og > lader dig styre opgaver ud fra tal og strenge. ⚖️
when: app_version == "2.0"Sprunget over kontra mislykket
En opgave, der springes over, er ikke mislykket. I kørselsresultatet ser du skipping i stedet for ok eller changed, og kørslen fortsætter.
Negér en betingelse
Brug not til at vende en test. Denne opgave kører kun, når tjenesten ikke allerede er installeret.
when: not service_installedDefineret eller ej
Du kan teste, om en variabel findes. Testen is defined beskytter mod fejl på udefinerede variabler.
when: custom_port is definedwhen kører pr. vært
Hver vært evalueres for sig. En betingelse kan være sand på én server og falsk på en anden i den samme play.
Hold betingelserne simple
Læselige betingelser er pålidelige betingelser. Hvis en when-betingelse bliver lang, så opdel logikken, eller brug en variabel til at navngive hensigten.
Betingelsesbaseret, ikke imperativt
when holder playbooks deklarative: Du beskriver tilfældet, og Ansible træffer beslutningen for hver vært. Der er ikke brug for if-blokke eller forgreningsskripter. 🎯
Hurtigt tjek
Lad os bekræfte, hvordan when fungerer.
Opsummering
Nøgleordet when kører kun en opgave, hvis dens udtryk er sandt. Falsk betyder, at opgaven springes over, ikke at den mislykkes, og betingelsen evalueres pr. vært. ✅
Lær YAML med en AI-underviser — gratis
Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.
- Kurser
- 30
- Lektioner
- 120
Ofte stillede spørgsmål
Er lektionen “Kør kun en task, når betingelsen er True” gratis?
Ja — hele teksten til “Kør kun en task, når betingelsen er True” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af Ansible Academy-kurset, skal du opgradere til CoddyKit PRO. Ansible Academy-kurset indeholder 4 lektioner i alt.
Hvad lærer jeg i “Kør kun en task, når betingelsen er True”?
Beting tasks af en boolsk betingelse. Du øver dig i Ansible Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.
Skal jeg have erfaring for at begynde på Ansible Academy?
Der kræves ingen tidligere erfaring. Ansible Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 1 af 4.
Hvor lang tid tager lektionen “Kør kun en task, når betingelsen er True”?
De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.
Kan jeg skrive og køre kode i denne Ansible Academy-lektion?
Ja. Alle Ansible Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.
Alle lektioner i dette kursus
- Kør kun en task, når betingelsen er True
- Forgren efter fakta om OS-familie
- Kombinér betingelser med and / or
- Registrér et resultat, og træf derefter en beslutning