Intensiv DevOps-uddannelse · Lektion

En roles-mappes anatomi

tasks, handlers, templates, defaults, vars.

Lektion 2 af 413 trin

En roles-mappes anatomi er en gratis Intensiv DevOps-uddannelse-lektion på CoddyKit. Dette er lektion 2 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.

En rolle er et mappetræ

En rolle er blot en mappe med et fast sæt undermapper. Ansible kender hver mappe på navnet og indlæser automatisk dens indhold.

roles/
  nginx/
    tasks/
    handlers/
    templates/

tasks/main.yml er indgangspunktet

Filen tasks/main.yml indeholder rollens primære liste over opgaver. Det er det første, Ansible kører, når rollen anvendes.

tasks/main.yml:
- name: Install nginx
  ansible.builtin.package:
    name: nginx

handlers/ indeholder genstartslogik

Mappen handlers definerer handlinger som genstart af en tjeneste. Opgaver underretter disse handlere, så genstarter kun sker ved ændringer.

templates/ til Jinja2-filer

Placér dine .j2-skabelonfiler i templates/. Template-modulet finder dem dér ud fra navnet, så du ikke behøver angive en fuld sti.

templates/
  nginx.conf.j2

files/ til statiske filer

Mappen files gemmer almindelige filer, som du kopierer uændret. Copy-modulet finder dem automatisk, ligesom templates-modulet.

defaults/ angiver variabler med lav prioritet

Filen defaults/main.yml indeholder variabler med den laveste prioritet, så brugere nemt kan tilsidesætte dem uden for rollen.

defaults/main.yml:
nginx_port: 80

vars/ angiver variabler med høj prioritet

Filen vars/main.yml indeholder variabler med højere prioritet. Brug den til værdier, som rollen er afhængig af, og som sjældent bør ændres.

meta/main.yml beskriver rollen

Filen meta/main.yml angiver rollens forfatter, licens, understøttede platforme og eventuelle rolleafhængigheder.

main.yml er det magiske navn

Inde i tasks, handlers, vars og defaults indlæser Ansible automatisk filen med navnet main.yml. Det er denne navngivningskonvention, der binder det hele sammen.

Du behøver kun det, du bruger

En rolle behøver ikke indeholde alle mapper. Hvis den ikke har skabeloner, kan du blot udelade templates-mappen. Ansible ignorerer manglende valgfrie mapper.

tests/ og README til finpudsning

Modne roller indeholder en README og en tests-mappe, så andre kan forstå og kontrollere din automatisering, før de bruger den.

Hurtigt tjek

Husk, hvor en rolles primære opgaveliste ligger.

Opsamling

En rolle er et mappetræ, hvor tasks, handlers, templates, files, defaults, vars og meta hver har deres faste placering, alt sammen bundet til main.yml. 📁

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 “En roles-mappes anatomi” gratis?

Ja — alle 3 lektioner i læringssporet Intensiv DevOps-uddannelse, inklusive “En roles-mappes anatomi”, 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 “En roles-mappes anatomi”?

tasks, handlers, templates, defaults, vars. 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 2 af 4.

Hvor lang tid tager lektionen “En roles-mappes anatomi”?

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. Hvorfor roles: Fra monolit til moduler
  2. En roles-mappes anatomi
  3. Opret et skelet til en role med ansible-galaxy init
  4. Anvend roles & videregiv role-variabler
← Tilbage til Intensiv DevOps-uddannelse