tpl: Render strings fra values
Evaluering af skabelonudtryk gemt i værdier
tpl: Render strings fra values er en gratis Helm Academy-lektion på CoddyKit. Dette er lektion 2 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 Helm Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Helm Academy-kurset indeholder 4 lektioner i alt.
Skabeloner i værdier
Nogle gange indeholder en værdi i values.yaml selv skabelonsyntaks. Som standard behandler Helm den som en almindelig streng og evaluerer den aldrig.
Mød funktionen tpl
Funktionen tpl tager en streng og en kontekst og renderer derefter strengen som en Go-skabelon præcis dér, hvor du kalder den.
{{ tpl .Values.greeting . }}Den kræver en kontekst
Det andet argument til tpl er det område, der bruges under renderingen. Hvis du sender rod-dot, kan strengen tilgå Values og Release.
{{ tpl "Hello {{ .Release.Name }}" . }}En værdi med skabelon
Nu kan en bruger gemme en dynamisk streng i værdierne, f.eks. et værtsnavn, der er bygget ud fra release-navnet, og få den udvidet under renderingen.
host: "{{ .Release.Name }}.example.com"Gengiv den værdi
I din skabelon skal du sende feltet gennem tpl med rod-konteksten for at omdanne den gemte pladsholder til en rigtig værdi.
host: {{ tpl .Values.host . | quote }}Hvorfor ikke bare referere til den
En direkte reference udskriver de rå klammer som tekst. Kun tpl evaluerer faktisk de indlejrede direktiver i den gemte streng.
Gengiv også filer
Du kan også give tpl filindhold, så en inkluderet konfigurationsfil kan indeholde pladsholdere, der er specifikke for udgivelsen.
{{ tpl (.Files.Get "config.tpl") . }}Overførsel af et tilpasset omfang
Konteksten behøver ikke være roden. Overfør en vilkårlig dict, så den gengivne streng præcis ser de variabler, du vælger.
{{ tpl .Values.msg (dict "name" "api") }}Et praktisk anvendelsestilfælde
Charts lader ofte brugere skabelonbehandle ingress-værter eller annoteringer på denne måde, så fleksibel konfiguration ligger i værdierne i stedet for i skabelonerne.
Pas på fejlene
Hvis den gemte streng indeholder en slåfejl, mislykkes tpl under gengivelsen, så kør test med helm template, når du har tilføjet skabelonbehandlede værdier.
Kombinér med quote
Da en skabelonbehandlet vært kan indeholde punktummer eller kolon, skal du sende resultatet fra tpl gennem quote, så den endelige YAML-værdi forbliver en sikker streng.
host: {{ tpl .Values.host . | quote }}Hurtigt tjek
Et hurtigt tjek af, hvordan tpl fungerer.
Opsummering
Du har lært, at tpl evaluerer skabelonstrenge, der er gemt i værdier eller filer, ved hjælp af en kontekst, du angiver, f.eks. rodpunktummet. 🎉
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 “tpl: Render strings fra values” gratis?
Ja — hele teksten til “tpl: Render strings fra values” 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 Helm Academy-kurset, skal du opgradere til CoddyKit PRO. Helm Academy-kurset indeholder 4 lektioner i alt.
Hvad lærer jeg i “tpl: Render strings fra values”?
Evaluering af skabelonudtryk gemt i værdier Du øver dig i Helm 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å Helm Academy?
Der kræves ingen tidligere erfaring. Helm 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 2 af 4.
Hvor lang tid tager lektionen “tpl: Render strings fra values”?
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 Helm Academy-lektion?
Ja. Alle Helm 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
- Dyb fletning med mergeOverwrite og dict
- tpl: Render strings fra values
- Gennemløb filer med range over .Files.Glob
- fail og brugerdefinerede valideringsværn