DevOps-bootcamp · leksjon

Iterere over filer med range og .Files.Glob

Generere ConfigMaps fra en katalog med filer

Leksjon 3 av 413 trinn

Iterere over filer med range og .Files.Glob er en gratis leksjon i DevOps-bootcamp på CoddyKit. Dette er leksjon 3 av 4. Du kan lese valgfritt 3 leksjoner fra denne læringsstien gratis i sin helhet – deretter låser CoddyKit PRO opp alle leksjoner, samt praktisk øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i DevOps-bootcamp, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i DevOps-bootcamp inneholder totalt 4 leksjoner.

Pakke filer i et chart

Charts kan levere ekstra filer sammen med templates. Objektet .Files gir templates lesetilgang til disse inkluderte filene.

Finne filer med Glob

Metoden .Files.Glob returnerer filene der filbanene samsvarer med et mønster, for eksempel alle filer under en config-mappe.

{{ $files := .Files.Glob "configs/*.conf" }}

Gå gjennom treffene

Kombiner Glob med range for å gå gjennom hver fil som ble funnet. Inne i løkken får De filbanen og filens rå bytes.

{{ range $path, $bytes := .Files.Glob "configs/*" }}

Generere en ConfigMap

Et klassisk bruksområde er å bygge én ConfigMap der datanøklene er filnavn, og verdiene er filinnholdet.

Snarveien AsConfig

For akkurat dette tilfellet gjør AsConfig et glob-resultat direkte om til en ferdig datablokk for en ConfigMap.

data: {{ (.Files.Glob "configs/*").AsConfig | nindent 2 }}

Secrets med AsSecrets

Søsterfunksjonen AsSecrets koder hver fil med Base64, slik at et glob-resultat i stedet kan fylle ut en Secret-ressurs.

data: {{ (.Files.Glob "secret/*").AsSecrets | nindent 2 }}

Bruke basisnavnet

Inne i en løkke ønsker De ofte bare filnavnet som nøkkel. Bruk derfor funksjonen base for å fjerne katalogdelen.

{{ base $path }}: |

Lese innhold per fil

Løkkevariabelen består av rå bytes, så send den gjennom toString eller nindent for å plassere innholdet pent under nøkkelen.

{{ $content | toString | nindent 4 }}

Glob-mønstre er relative

Glob-mønstre tolkes fra chart-roten, og punktumfiler hoppes over. Plasser derfor inkluderte ressurser i mapper med tydelige navn.

Sørge for gyldig output

Innrykk er viktig: Bruk nindent for hver blokk, slik at de genererte nøklene og innholdet nestes riktig under data.

Lese én enkelt fil

Når De bare trenger én fil i stedet for et sett, returnerer .Files.Get innholdet direkte, uten at De trenger en løkke.

{{ .Files.Get "configs/app.conf" }}

Hurtigsjekk

En hurtigsjekk av filglobbing.

Oppsummering

De har lært å velge inkluderte filer med .Files.Glob, gå gjennom dem med range og generere ConfigMaps med AsConfig eller AsSecrets. 🎉

Gratis å komme i gang

Lær deg DevOps-bootcamp med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
142
Leksjoner
568

Ofte stilte spørsmål

Er leksjonen «Iterere over filer med range og .Files.Glob» gratis?

Ja – du kan lese valgfritt 3 av leksjonene i læringsstien DevOps-bootcamp, inkludert «Iterere over filer med range og .Files.Glob», gratis i sin helhet her på nettet. Deretter låser CoddyKit PRO opp alle leksjoner, samt interaktiv øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Kurset i DevOps-bootcamp inneholder totalt 4 leksjoner.

Hva lærer jeg i «Iterere over filer med range og .Files.Glob»?

Generere ConfigMaps fra en katalog med filer Du øver på DevOps-bootcamp med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med DevOps-bootcamp?

Ingen tidligere erfaring er nødvendig. DevOps-bootcamp på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 3 av 4.

Hvor lang tid tar leksjonen «Iterere over filer med range og .Files.Glob»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne DevOps-bootcamp-leksjonen?

Ja. Alle DevOps-bootcamp-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. Dyp sammenslåing med mergeOverwrite og dict
  2. tpl: Rendrer strenger fra verdier
  3. Iterere over filer med range og .Files.Glob
  4. fail og egendefinerte valideringsvern
← Tilbake til DevOps-bootcamp