YAML-formaterer
Hvorfor formatere YAML-filer?
YAML er svært følsom for innrykksproblemer — ett ekstra mellomrom kan forårsake parse-feil eller stille datakorrupsjon. Kubernetes, Docker Compose, GitHub Actions og Ansible bruker YAML-konfigurasjonsfiler, og formateringsfeil kan blokkere hele distribusjoner.
Normalisering av innrykk
Normaliserer blandet innrykk til konsekvent 2-mellomromsformat i hele dokumentet
Syntaksvalidering
Identifiserer innrykksfeil, blanding av tab/mellomrom og strukturelle problemer
Ankere og aliaser
Full støtte for YAML-ankere (&) og aliaser (*) for dokumentgjenbruk
Formater YAML i 3 trinn
Lim inn YAML
Lim inn et Kubernetes-manifest, GitHub Actions-arbeidsflyt eller YAML-konfigurasjonsfil
Formater og valider
Verktøyet validerer syntaksen og omformaterer automatisk med konsekvent innrykk
Kopier og distribuer
Kopier den formaterte YAML-en til filene, CI-pipelines eller distribusjonsverktøyene
Bruksområder for YAML-formatering
Kubernetes-manifester
Formater Deployment-, Service- og ConfigMap-YAML-filer før de brukes på klusteret
CI/CD-pipelines
Valider GitHub Actions-, GitLab CI- og CircleCI-arbeidsflyter for å forhindre pipelinefeil
Ansible Playbooks
Formater og valider Ansible-oppgaver, variabler og inventar
Docker Compose
Sjekk at docker-compose.yml er korrekt formatert før docker compose up
Beste praksis for YAML
✓ Bruk mellomrom, ikke tabulatorer
YAML-spesifikasjonen forbyr uttrykkelig tabulatortegnet for innrykk. Konfigurer redigereren til å sette inn mellomrom ved Tab i YAML-filer.
✓ Bruk anførselstegn for spesialtegn
Strenger som inneholder : # [ ] { } eller begynner med spesialtegn må i anførselstegn slik at YAML ikke feiltolker dem.
✓ Bruk ankere for å redusere gjentagelse
YAML-ankere (&navn) og aliaser (*navn) lar deg gjenbruke verdier i dokumentet.
✓ Lint-sjekk før commit
Kjør yamllint eller bruk denne formatereren i en pre-commit-krok for å fange formateringsproblemer tidlig.
❓ Ofte stilte spørsmål
Hvorfor fungerer ikke YAML med tabulatorer i stedet for mellomrom?
YAML-spesifikasjonen forbyr uttrykkelig tabulatortegnet for innrykk fordi ulike redigerere viser tabulatorer med ulik bredde. Mellomrom gir konsekvent innrykk som alle YAML-parsere tolker likt.
Hva gjør YAML-ankere (&) og aliaser (*)?
Ankere definerer en gjenbrukbar blokk med &ankernavn; aliaser refererer til den med *ankernavn. Slik kan du definere en verdi én gang og bruke den mange steder.
Hva er forskjellen mellom YAML og JSON?
YAML er et supersett av JSON — gyldig JSON er også gyldig YAML. YAML legger til støtte for kommentarer, ankere, flerlinjestrenger og mer lesbar syntaks.
Når bør jeg velge YAML fremfor TOML for konfigurasjon?
YAML har bredere verktøystøtte (Kubernetes, Ansible, de fleste CI-systemer) og kan uttrykke komplekse nestede strukturer kortfattet. I DevOps-konfigurasjon er YAML standarden.