Intensiv DevOps-uddannelse · Lektion

Nøgleordet loop over en liste

Installér mange pakker i én task.

Lektion 1 af 413 trin

Nøgleordet loop over en liste er en gratis Intensiv DevOps-uddannelse-lektion på CoddyKit. Dette er lektion 1 af 4. Du kan læse alle 3 lektioner i dette læringsspor gratis i deres fulde længde — derefter låser CoddyKit PRO alle lektioner op samt praktiske øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Den er en del af læringsforløbet i Intensiv DevOps-uddannelse, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Intensiv DevOps-uddannelse-kurset indeholder 4 lektioner i alt.

Stop med at kopiere og indsætte opgaver

Skal du installere tre pakker? Det er besværligt og fejlbehæftet at skrive tre næsten identiske opgaver. Nøgleordet loop lader én opgave gentage sig over en liste. 🔁

Hvad loop gør

Føj loop til en opgave, og giv den en liste. Ansible kører opgaven én gang pr. element og indsætter hver værdi i modulets argumenter.

Mød variablen item

I en opgave med et gennemløb er den aktuelle listeværdi tilgængelig som item. Du refererer til den med {{ item }}, uanset hvor du har brug for værdien.

- name: Show each fruit
  ansible.builtin.debug:
    msg: "{{ item }}"
  loop:
    - apple
    - banana
    - cherry

Installér mange pakker

Den klassiske anvendelse er at installere en hel liste af pakker i én opgave. Hvert navn føres ind i pakkemodulet via item.

- name: Install tools
  ansible.builtin.package:
    name: "{{ item }}"
    state: present
  loop:
    - git
    - curl
    - vim

Gennemløb en variabelliste

Listen behøver ikke stå direkte i opgaven. Peg loop på en variabel, så den samme opgave tilpasser sig de værdier, du definerer et andet sted.

vars:
  packages:
    - git
    - curl
tasks:
  - name: Install
    ansible.builtin.package:
      name: "{{ item }}"
    loop: "{{ packages }}"

loop kontra with_items

Du kan se ældre playbooks, der bruger with_items. Det fungerer stadig, men loop er den moderne, anbefalede form til simple lister.

Én opgave, mange resultater

Et gennemløb kører opgaven én gang pr. element, så resultatet viser én linje for hver gentagelse. Du kan se præcis, hvilke værdier der blev ændret.

Gennemløb forbliver idempotente

Gennemløb bryder ikke idempotensen. Hvis en pakke allerede er installeret, rapporterer den pågældende gentagelse ok; kun nye pakker rapporterer changed.

Mange pakkehåndteringer kan samle installationer

Nogle moduler accepterer en liste direkte, hvilket er endnu hurtigere. Men loop er det universelle mønster, der fungerer med næsten alle moduler.

Gennemløb også tal

Lister indeholder ikke kun strenge. Du kan gennemløbe tal eller enhver anden datatype, og item indeholder den værdi, som listen rummer.

- name: Print ports
  ansible.builtin.debug:
    msg: "Port {{ item }}"
  loop:
    - 80
    - 443
    - 8080

Tomme lister er sikre

Hvis listen er tom, kører opgaven ganske enkelt nul gange. Ingen fejl og ingen skade. Det er helt fint at gennemløbe en variabel, der kan være tom.

Hurtigt tjek

Hvordan refererer du til den aktuelle listeværdi inde i en opgave med et gennemløb?

Opsummering: Du kan gennemløbe

Du erstattede gentagne opgaver med ét loop, fik adgang til hver værdi via item og bevarede idempotensen. Næste emne: gennemløb af ordbøger. 🎉

Gratis at komme i gang

Lær Intensiv DevOps-uddannelse 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
142
Lektioner
568

Ofte stillede spørgsmål

Er lektionen “Nøgleordet loop over en liste” gratis?

Ja — alle 3 lektioner i læringssporet Intensiv DevOps-uddannelse, inklusive “Nøgleordet loop over en liste”, kan læses gratis i deres fulde længde her på webstedet. Derefter låser CoddyKit PRO alle lektioner op samt interaktive øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Intensiv DevOps-uddannelse-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Nøgleordet loop over en liste”?

Installér mange pakker i én task. Du øver dig i Intensiv DevOps-uddannelse 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å Intensiv DevOps-uddannelse?

Der kræves ingen tidligere erfaring. Intensiv DevOps-uddannelse 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 “Nøgleordet loop over en liste”?

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 Intensiv DevOps-uddannelse-lektion?

Ja. Alle Intensiv DevOps-uddannelse-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. Nøgleordet loop over en liste
  2. Gennemløb af dictionaries
  3. Indlejrede loops med subelements
  4. loop_control: label, index & pause
← Tilbage til Intensiv DevOps-uddannelse