Intensiv DevOps-uddannelse · Lektion

Role-afhængigheder i meta/main.yml

Kæd roles, der kræver andre roles.

Lektion 1 af 413 trin

Role-afhængigheder i meta/main.yml 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.

Roller, der har brug for andre roller

Nogle roller fungerer kun, hvis en anden rolle er kørt først. Din applikationsrolle kan have brug for en baserolle, der sikrer serveren, før den udrulles.

Lær meta/main.yml at kende

Alle roller kan indeholde filen meta/main.yml. Den gemmer metadata om rollen, f.eks. forfatteren, understøttede platforme og dens afhængigheder.

Nøglen dependencies

I meta/main.yml oplister nøglen dependencies de roller, der skal køres før denne rolle. Ansible anvender dem automatisk først.

dependencies:
  - role: common
  - role: firewall

Afhængigheder køres først

Når du anvender en rolle, kører Ansible dens oplistede dependencies før den, i den rækkefølge de står, og kører derefter rollens egne opgaver.

Videregiv variable til en afhængighed

Du kan give variable videre til en afhængighed direkte i listen. Baserollen køres præcis med den konfiguration, denne rolle har brug for.

dependencies:
  - role: nginx
    vars:
      http_port: 8080

En reel afhængighedskæde

En webapp-rolle afhænger af nginx, som afhænger af common. Anvend webapp, så løses hele kæden automatisk oppefra og ned.

Betingede afhængigheder

En afhængighed kan indeholde en when-betingelse, så den kun køres på værter, der matcher. Du kan f.eks. springe firewall-rollen over på udviklingsmaskiner.

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

Afhængigheder er statiske

Afhængigheder i meta løses, før afviklingen starter. De kan ikke bruge fakta, der indsamles senere under kørsel, så hold deres betingelser enkle.

Galaxy læser også meta

Når du installerer en rolle fra Ansible Galaxy, læser den meta/main.yml og henter automatisk alle de afhængigheder, der står i filen.

Hold afhængighederne ærlige

Oplist kun en rolle som afhængighed, hvis den virkelig skal køres først. Skjulte kæder gør automatisering svær at forstå og fejlfinde.

Galaxy-oplysninger findes også her

Ud over afhængigheder indeholder meta/main.yml galaxy_info: licens, mindste Ansible-version og platforme. Det dokumenterer, hvordan en rolle skal bruges.

Hurtigt tjek

Husk, hvor du angiver, at én rolle skal køres før en anden.

Opsamling

Oplist de nødvendige roller under dependencies i meta/main.yml, så kører Ansible kæden først, eventuelt med variable 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 “Role-afhængigheder i meta/main.yml” gratis?

Ja — alle 3 lektioner i læringssporet Intensiv DevOps-uddannelse, inklusive “Role-afhængigheder i meta/main.yml”, 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 “Role-afhængigheder i meta/main.yml”?

Kæd roles, der kræver andre roles. 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 “Role-afhængigheder i meta/main.yml”?

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