Intensiv DevOps-uddannelse · Lektion

include_role & import_role under kørsel

Aktivér roles dynamisk midt i et play.

Lektion 3 af 413 trin

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: nginx

import_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_backup

Gentag 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: 8080

Tags 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. 🔁

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 “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

  1. Role-afhængigheder i meta/main.yml
  2. defaults kontra vars: Rækkefølgen ved tilsidesættelse
  3. include_role & import_role under kørsel
  4. allow_duplicates & idempotens for roles
← Tilbage til Intensiv DevOps-uddannelse