DevOps-bootcamp · leksjon

Rolleavhengigheter i meta/main.yml

Kjed sammen roller som krever andre roller.

Leksjon 1 av 413 trinn

Rolleavhengigheter i meta/main.yml er en gratis leksjon i DevOps-bootcamp på CoddyKit. Dette er leksjon 1 av 4. Du kan lese valgfritt 3 leksjoner fra denne læringsstien gratis i sin helhet – deretter låser CoddyKit PRO opp alle leksjoner, samt praktisk øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i DevOps-bootcamp, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i DevOps-bootcamp inneholder totalt 4 leksjoner.

Roller som trenger andre roller

Noen roller fungerer bare hvis en annen rolle har kjørt først. Applikasjonsrollen din kan for eksempel trenge en grunnrolle som sikrer serveren før utrulling.

Bli kjent med meta/main.yml

Alle roller kan inneholde filen meta/main.yml. Den lagrer metadata om rollen, for eksempel forfatter, plattformer som støttes, og avhengigheter.

Nøkkelen dependencies

Inne i meta/main.yml viser nøkkelen dependencies hvilke roller som må kjøre før denne. Ansible bruker dem først, automatisk.

dependencies:
  - role: common
  - role: firewall

Avhengigheter kjører først

Når du bruker en rolle, kjører Ansible de oppførte dependencies før rollen, i den angitte rekkefølgen, og kjører deretter rollens egne oppgaver.

Send variabler til en avhengighet

Du kan sende variabler til en avhengighet direkte i listen. Grunnrollen kjører da med nøyaktig den konfigurasjonen denne rollen trenger.

dependencies:
  - role: nginx
    vars:
      http_port: 8080

En ekte avhengighetskjede

En webapp-rolle er avhengig av nginx, som igjen er avhengig av common. Bruk webapp, så løses hele kjeden ovenfra og ned for deg.

Betingede avhengigheter

En avhengighet kan ha en when-betingelse, slik at den bare kjører på verter som oppfyller betingelsen. Du kan for eksempel hoppe over brannmurrollen på utviklingsmaskiner.

dependencies:
  - role: firewall
    when: env == 'prod'

Avhengigheter er statiske

Avhengigheter i meta løses før play-kjøringen starter. De kan ikke bruke runtime-fakta som hentes senere, så hold betingelsene enkle.

Galaxy leser også meta

Når du installerer en rolle fra Ansible Galaxy, leser den meta/main.yml og henter automatisk alle avhengighetene som er oppført der.

Hold avhengighetene ærlige

Oppgi bare en rolle som avhengighet hvis den faktisk må kjøre først. Skjulte kjeder gjør automatisering vanskelig å forstå og feilsøke.

Galaxy-informasjon finnes også her

I tillegg til avhengigheter inneholder meta/main.yml galaxy_info: lisens, minste Ansible-versjon og plattformer. Den dokumenterer hvordan rollen skal brukes.

Rask kontroll

Husk hvor du angir at én rolle må kjøre før en annen.

Oppsummering

Oppgi nødvendige roller under dependencies i meta/main.yml, så kjører Ansible denne kjeden først, eventuelt med variabler og betingelser. 🔗

Gratis å komme i gang

Lær deg DevOps-bootcamp med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
142
Leksjoner
568

Ofte stilte spørsmål

Er leksjonen «Rolleavhengigheter i meta/main.yml» gratis?

Ja – du kan lese valgfritt 3 av leksjonene i læringsstien DevOps-bootcamp, inkludert «Rolleavhengigheter i meta/main.yml», gratis i sin helhet her på nettet. Deretter låser CoddyKit PRO opp alle leksjoner, samt interaktiv øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Kurset i DevOps-bootcamp inneholder totalt 4 leksjoner.

Hva lærer jeg i «Rolleavhengigheter i meta/main.yml»?

Kjed sammen roller som krever andre roller. Du øver på DevOps-bootcamp med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med DevOps-bootcamp?

Ingen tidligere erfaring er nødvendig. DevOps-bootcamp på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 1 av 4.

Hvor lang tid tar leksjonen «Rolleavhengigheter i meta/main.yml»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne DevOps-bootcamp-leksjonen?

Ja. Alle DevOps-bootcamp-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. Rolleavhengigheter i meta/main.yml
  2. defaults kontra vars: Rekkefølgen for overstyring
  3. include_role og import_role ved kjøring
  4. allow_duplicates og idempotens for roller
← Tilbake til DevOps-bootcamp