DevOps-bootcamp · Lektion

Dela upp playbooks med import och include

Statisk jämfört med dynamisk inkludering av uppgifter

Lektion 3 av 413 steg

Dela upp playbooks med import och include är en gratis lektion i DevOps-bootcamp på CoddyKit. Detta är lektion 3 av 4. Du kan läsa vilka 3 lektioner som helst i den här lärvägen kostnadsfritt i sin helhet – därefter låser CoddyKit PRO upp alla lektioner, plus praktisk övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Den ingår i lärvägen för DevOps-bootcamp, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i DevOps-bootcamp innehåller totalt 4 lektioner.

En enda gigantisk fil ställer till problem

En playbook på 500 rader är svår att läsa och återanvända. Ansible låter dig dela upp arbetet i delar och ta in dem där de behövs. ✂️

Två familjer: import och include

Ansible erbjuder två sätt att återanvända innehåll: import_* för statisk inkludering och include_* för dynamisk inkludering. Skillnaden ligger i när det sker.

Statisk import_tasks

import_tasks förbehandlas när playbooken parsas, innan någon task körs. Det är fast och förutsägbart.

- import_tasks: setup.yml

Dynamisk include_tasks

include_tasks bearbetas under körning, i ordning, så att den kan reagera på variabler och resultat som fastställts tidigare i playen.

- include_tasks: "{{ os_family }}.yml"

Varför tidpunkten spelar roll

Eftersom import är statisk kan du inte använda en runtime-variabel i filnamnet. Då behöver du i stället den dynamiska include_tasks.

Loopar kräver include

Vill du upprepa en hel fil? Det är bara include_tasks som stöder loop, eftersom filuppsättningen avgörs medan playen körs.

- include_tasks: user.yml
  loop: "{{ users }}"

Taggar fungerar annorlunda

En tagg på import_tasks gäller för varje importerad task, men en tagg på include_tasks gäller bara själva include-satsen.

Importera hela playbooks

Använd import_playbook på toppnivå för att kombinera hela playbooks. Det är precis så site.yml sätter samman projektet.

- import_playbook: webservers.yml
- import_playbook: dbservers.yml

Återanvändning mellan plays

Delade task-filer, som en gemensam bootstrap-fil, kan importeras till många playbooks, så att du skriver logiken en gång och återanvänder den överallt.

Ett klokt standardval

Föredra import för förutsägbara steg som alltid ska köras. Använd include endast när du verkligen behöver beslut under körning, till exempel loopar eller variabla filnamn.

Uppdelning i praktiken

Här importerar en play en statisk setup-fil och inkluderar sedan villkorligt en OS-specifik fil. Två verktyg, två uppgifter. 🎯

tasks:
  - import_tasks: base.yml
  - include_tasks: "{{ ansible_os_family }}.yml"

Snabb kontroll

Du behöver ett filnamn som byggs från en runtime-variabel. Vilken direktiv fungerar?

Sammanfattning

Du har lärt dig att import_* är statiskt och parsas i förväg, medan include_* är dynamiskt och körs på plats, vilket möjliggör loopar och variabla filnamn. ✅

Gratis att börja

Lär dig DevOps-bootcamp med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
142
Lektioner
568

Vanliga frågor

Är lektionen ”Dela upp playbooks med import och include” gratis?

Ja – du kan läsa vilka 3 lektioner som helst i lärvägen DevOps-bootcamp, inklusive ”Dela upp playbooks med import och include”, kostnadsfritt i sin helhet här på webben. Därefter låser CoddyKit PRO upp alla lektioner, plus interaktiv övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Kursen i DevOps-bootcamp innehåller totalt 4 lektioner.

Vad lär jag mig i ”Dela upp playbooks med import och include”?

Statisk jämfört med dynamisk inkludering av uppgifter Ni övar på DevOps-bootcamp med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig DevOps-bootcamp?

Du behöver inga förkunskaper. Utbildningen i DevOps-bootcamp på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 3 av 4.

Hur lång tid tar lektionen ”Dela upp playbooks med import och include”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här DevOps-bootcamp-lektionen?

Ja. Varje DevOps-bootcamp-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. Den rekommenderade katalogstrukturen
  2. group_vars- och host_vars-kataloger
  3. Dela upp playbooks med import och include
  4. Namngivning, kommentarer och skalbar kodstil
← Tillbaka till DevOps-bootcamp