0Pricing
DevOps Bootcamp · Lezione

Limitare l'ambito di un blocco con with

Restringa il punto a un sottoalbero e ne gestisca le insidie

Limitare l'ambito di un blocco con with è una lezione DevOps Bootcamp gratuita su CoddyKit. Questa è la lezione 4 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento DevOps Bootcamp, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso DevOps Bootcamp include 4 lezioni in totale.

Smettere di ripetere percorsi lunghi

Scrivere più volte .Values.image.repository diventa rumoroso. L'azione with restringe il punto a un sottoalbero, così può scrivere percorsi più brevi.

L'azione with

Un blocco with inizia con {{ with SOMETHING }} e termina con {{ end }}. Al suo interno, il punto viene reimpostato su ciò che è stato passato.

{{ with .Values.image }}
repository: {{ .repository }}
tag: {{ .tag }}
{{ end }}

Il punto entra nel sottoalbero

All'interno, .repository equivale a .Values.image.repository. La parola chiave with riassegna il punto al sottoalbero, accorciando ogni percorso successivo.

image:
  repository: nginx
  tag: "1.27"

Funziona anche da controllo

Se il valore è empty o mancante, with salta l'intero blocco. In questo modo restringe lo scope del punto e funziona contemporaneamente come un if. 🛡️

Aggiungere un else

Come if, anche with accetta un ramo else. Else viene visualizzato quando il valore è vuoto, offrendo un fallback ordinato per la configurazione opzionale.

{{ with .Values.resources }}
resources:
{{ toYaml . | indent 2 }}
{{ else }}
# no resources set
{{ end }}

La trappola dell'ambito

Ecco il problema: all'interno di with, il punto non indica più la radice. Quindi .Release.Name non funziona, perché Release non si trova all'interno del sottoalbero.

Risalire con $

Per usare i valori della radice all'interno di with, li preceda con $. Il simbolo del dollaro indica sempre il contesto radice originale, indipendentemente dalla profondità corrente.

{{ with .Values.image }}
name: {{ $.Release.Name }}
image: {{ .repository }}
{{ end }}

Mantenga piccoli i blocchi

Poiché with sostituisce il punto, i blocchi grandi diventano rapidamente fonte di confusione. Mantenga brevi le sezioni with, così sarà sempre chiaro a cosa punta il punto.

with e if

Usi if quando deve solo verificare un flag e usi with quando vuole anche entrare nel valore corrispondente. with modifica il punto; if lo lascia invariato.

Visualizzare l'ambito

Non è sicuro di cosa contenga il punto? Esegua il rendering con helm template e legga l'output, oppure stampi l'ambito durante il debug di un blocco with complesso.

helm template ./mychart

Annidare blocchi with

Può annidare un with all'interno di un altro per scendere più in profondità. Ogni livello sposta il punto di un passaggio verso il basso, quindi tenga traccia della posizione corrente.

{{ with .Values.image }}
{{ with .pullSecrets }}
# . is now pullSecrets
{{ end }}
{{ end }}

Verifica rapida

All'interno di un blocco {{ with .Values.image }}, prova a leggere .Release.Name, ma il risultato è vuoto.

Riepilogo

Ora sa come definire l'ambito del punto con with, ottenere automaticamente un controllo sul valore vuoto, aggiungere un fallback else e raggiungere la radice con $. Template più ordinati! 🎯

Domande Frequenti

La lezione «Limitare l'ambito di un blocco con with» è gratuita?

Sì — il testo completo di «Limitare l'ambito di un blocco con with» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso DevOps Bootcamp, passa a CoddyKit PRO. Il corso DevOps Bootcamp include 4 lezioni in totale.

Cosa imparerò in «Limitare l'ambito di un blocco con with»?

Restringa il punto a un sottoalbero e ne gestisca le insidie Eserciti DevOps Bootcamp con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare DevOps Bootcamp?

Non è richiesta alcuna esperienza precedente. DevOps Bootcamp su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 4 di 4.

Quanto tempo richiede la lezione «Limitare l'ambito di un blocco con with»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione DevOps Bootcamp?

Sì. Ogni lezione DevOps Bootcamp include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Blocchi condizionali con if e else
  2. Valori di verità e operatori nelle condizioni
  3. Iterare su elenchi e mappe con range
  4. Limitare l'ambito di un blocco con with
← Torna a DevOps Bootcamp