include_role & import_role under kørsel
Aktivér roles dynamisk midt i et play.
include_role & import_role under kørsel er en gratis Intensiv DevOps-uddannelse-lektion på CoddyKit. Dette er lektion 3 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.
Ud over roles-listen
Listen roles på øverste niveau anvender roller, før nogen opgaver køres. Nogle gange har du brug for en rolle midt i afviklingen, præcis hvor en opgave står.
Kald en rolle som en opgave
Både include_role og import_role lader dig kalde en rolle inde fra sektionen tasks, på linje med dine øvrige trin.
tasks:
- import_role:
name: nginximport_role er statisk
import_role behandles, når playbooken fortolkes, før kørslen starter. Dens opgaver indsættes direkte tidligt, så de kan ikke afhænge af data fra kørselstidspunktet.
include_role er dynamisk
include_role behandles under kørslen, når den pågældende opgave nås. Den kan reagere på fakta og registrerede resultater.
tasks:
- include_role:
name: backup
when: do_backupGentag en rolle i en løkke
Da include_role køres dynamisk, kan du placere den i en løkke og anvende den samme rolle med forskellige variable ved hver gentagelse.
- include_role:
name: deploy_app
loop: "{{ app_list }}"import_role kan ikke gentages
Da import_role løses ved fortolkningen, understøtter den ikke loop. Brug include_role, når du har brug for at gentage en rolle.
Sådan opfører when sig forskelligt
En when på import_role kopierer betingelsen til hver opgave i rollen. En when på include_role styrer hele rollen som én enhed.
Videregiv variable på begge måder
Begge former accepterer vars til at konfigurere rollen, ligesom roles-listen gør. Værdierne føres direkte ind i den inkluderede rolle.
- include_role:
name: web
vars:
http_port: 8080Tags og statisk over for dynamisk
Med import_role er tags på de importerede opgaver synlige for --list-tags. Med include_role skal du anvende tags på selve include-handlingen.
Vælg det rigtige værktøj
Brug import_role til en forudsigelig struktur, der altid køres. Brug include_role, når rollen skal køres betinget eller i en løkke.
Samme mønster på to niveauer
Ansible har den samme opdeling i statisk og dynamisk for opgavefiler: import_tasks og include_tasks svarer præcis til disse rollenøgleord.
Hurtigt tjek
Husk, hvilket nøgleord der kan anvende en rolle inde i en løkke.
Opsamling
Brug import_role til statisk struktur ved fortolkningstidspunktet og include_role til dynamisk kald under kørsel med løkker og betingelser. 🔁
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 “include_role & import_role under kørsel” gratis?
Ja — alle 3 lektioner i læringssporet Intensiv DevOps-uddannelse, inklusive “include_role & import_role under kørsel”, 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 “include_role & import_role under kørsel”?
Aktivér roles dynamisk midt i et play. 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 3 af 4.
Hvor lang tid tager lektionen “include_role & import_role under kørsel”?
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
- Role-afhængigheder i meta/main.yml
- defaults kontra vars: Rækkefølgen ved tilsidesættelse
- include_role & import_role under kørsel
- allow_duplicates & idempotens for roles