YAML-formatter
Hvorfor formatere YAML-filer?
YAML er yderst følsom over for indrykningsproblemer — et enkelt ekstra mellemrum kan forårsage parsningsfejl eller stille datakorruption. Kubernetes, Docker Compose, GitHub Actions og Ansible bruger YAML-konfigurationsfiler, og formateringsfejl kan blokere hele deployments.
Normalisering af indrykning
Normaliserer blandet indrykning til konsekvent 2-mellemrumsformat i hele dokumentet
Syntaksvalidering
Identificerer indrykningsfejl, blanding af tab/mellemrum og strukturelle problemer
Ankre og aliasser
Fuld understøttelse af YAML-ankre (&) og aliasser (*) til dokumentgenbrug
Formatér YAML i 3 trin
Indsæt YAML
Indsæt et Kubernetes-manifest, GitHub Actions-workflow eller YAML-konfigurationsfil
Formatér og valider
Værktøjet validerer syntaksen og omformaterer automatisk med konsekvent indrykning
Kopiér og deploy
Kopiér den formaterede YAML til dine filer, CI-pipelines eller deploymentværktøjer
Anvendelsesområder for YAML-formatering
Kubernetes-manifester
Formatér Deployment-, Service- og ConfigMap-YAML-filer inden de anvendes på clusteret
CI/CD-pipelines
Valider GitHub Actions-, GitLab CI- og CircleCI-workflows for at forhindre pipelinefejl
Ansible Playbooks
Formatér og valider Ansible-opgaver, variabler og inventar
Docker Compose
Tjek at docker-compose.yml er korrekt formateret inden docker compose up
Bedste praksis for YAML
✓ Brug mellemrum, ikke tabulatorer
YAML-specifikationen forbyder udtrykkeligt tabulatortegnet til indrykning. Konfigurer din redigerer til at indsætte mellemrum ved Tab i YAML-filer.
✓ Brug anførselstegn til specialtegn
Strenge der indeholder : # [ ] { } eller begynder med specialtegn skal i anførselstegn for at YAML ikke fejltolker dem.
✓ Brug ankre for at reducere gentagelse
YAML-ankre (&navn) og aliasser (*navn) lader dig genbruge værdier i dokumentet.
✓ Lint-tjek inden commit
Kør yamllint eller brug denne formatter i en pre-commit-hook for at fange formateringsproblemer tidligt.
❓ Ofte stillede spørgsmål
Hvorfor virker YAML ikke med tabulatorer i stedet for mellemrum?
YAML-specifikationen forbyder udtrykkeligt tabulatortegnet til indrykning fordi forskellige redigerere viser tabulatorer med forskellig bredde. Mellemrum giver konsekvent indrykning som alle YAML-parsere tolker ens.
Hvad gør YAML-ankre (&) og aliasser (*)?
Ankre definerer en genanvendelig blok med &ankernavn; aliasser refererer til den med *ankernavn. Dermed kan du definere en værdi én gang og bruge den mange steder.
Hvad er forskellen mellem YAML og JSON?
YAML er et supersæt af JSON — gyldig JSON er også gyldig YAML. YAML tilføjer understøttelse af kommentarer, ankre, flerlinjestrenge og mere læsbar syntaks.
Hvornår skal jeg vælge YAML frem for TOML til konfiguration?
YAML har bredere værktøjsunderstøttelse (Kubernetes, Ansible, de fleste CI-systemer) og kan udtrykke komplekse indlejrede strukturer kortfattet. I DevOps-konfiguration er YAML standarden.