Ansible Academy · Lektion

Kør kun en task, når betingelsen er True

Beting tasks af en boolsk betingelse.

Lektion 1 af 413 trin

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_required

Ingen 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_extras

Sammenligninger

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_installed

Defineret eller ej

Du kan teste, om en variabel findes. Testen is defined beskytter mod fejl på udefinerede variabler.

when: custom_port is defined

when 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. ✅

Gratis at komme i gang

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

  1. Kør kun en task, når betingelsen er True
  2. Forgren efter fakta om OS-familie
  3. Kombinér betingelser med and / or
  4. Registrér et resultat, og træf derefter en beslutning
← Tilbage til Ansible Academy