Role-afhængigheder i meta/main.yml
Kæd roles, der kræver andre roles.
Role-afhængigheder i meta/main.yml er en gratis Ansible Academy-lektion på CoddyKit. Dette er lektion 1 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i Ansible Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Ansible Academy-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: firewallAfhæ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: 8080En 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. 🔗
Lær YAML 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
- 30
- Lektioner
- 120
Ofte stillede spørgsmål
Er lektionen “Role-afhængigheder i meta/main.yml” gratis?
Ja — hele teksten til “Role-afhængigheder i meta/main.yml” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af Ansible Academy-kurset, skal du opgradere til CoddyKit PRO. Ansible Academy-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 Ansible Academy 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å Ansible Academy?
Der kræves ingen tidligere erfaring. Ansible Academy 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 Ansible Academy-lektion?
Ja. Alle Ansible Academy-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