Délimiter un bloc avec with
Réduisez le point à un sous-arbre et évitez ses pièges.
Délimiter un bloc avec with est une leçon DevOps Bootcamp gratuite sur CoddyKit. Ceci est la leçon 4 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage DevOps Bootcamp, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours DevOps Bootcamp comprend 4 leçons au total.
Cessez de répéter les chemins longs
Écrire .Values.image.repository encore et encore devient fastidieux. L’action with réduit le point à un sous-arbre afin que vous puissiez écrire des chemins plus courts.
L’action with
Un bloc with s’ouvre avec {{ with SOMETHING }} et se ferme avec {{ end }}. À l’intérieur, le point est réinitialisé sur la valeur que vous avez transmise.
{{ with .Values.image }}
repository: {{ .repository }}
tag: {{ .tag }}
{{ end }}Le point se déplace vers l’intérieur
Une fois à l’intérieur, .repository signifie .Values.image.repository. Le mot-clé with réaffecte le point au sous-arbre et raccourcit chaque chemin qui en dépend.
image:
repository: nginx
tag: "1.27"Il sert aussi de garde
Si la valeur est vide ou absente, with ignore tout son bloc. Il réduit donc la portée du point tout en jouant simultanément le rôle d’un if. 🛡️
Ajouter une branche else
Comme if, with accepte une branche else. else s’exécute lorsque la valeur est vide, ce qui fournit une solution de repli claire pour une configuration facultative.
{{ with .Values.resources }}
resources:
{{ toYaml . | indent 2 }}
{{ else }}
# no resources set
{{ end }}Le piège de la portée
Voici le piège : à l’intérieur de with, le point ne désigne plus la racine. Ainsi, .Release.Name ne fonctionne plus, car Release ne se trouve pas sous ce sous-arbre.
Remonter jusqu’à la racine avec $
Pour utiliser les valeurs racine à l’intérieur de with, préfixez-les avec $. Le dollar pointe toujours vers le contexte racine d’origine, quelle que soit la profondeur à laquelle vous vous trouvez.
{{ with .Values.image }}
name: {{ $.Release.Name }}
image: {{ .repository }}
{{ end }}Garder les blocs courts
Comme with détourne le point, les grands blocs deviennent vite difficiles à comprendre. Gardez les sections with courtes afin qu’il reste évident vers quoi pointe le point.
with ou if
Utilisez if lorsque vous voulez seulement tester un indicateur, et with lorsque vous voulez aussi entrer dans cette valeur. with modifie le point ; if le laisse inchangé.
Prévisualiser la portée
Vous ne savez pas ce que contient le point ? Effectuez un rendu avec helm template et consultez la sortie, ou affichez la portée pendant le débogage d’un bloc with complexe.
helm template ./mychartImbriquer des blocs with
Vous pouvez imbriquer un with dans un autre pour aller plus en profondeur. Chaque niveau déplace le point d’un cran vers le bas ; gardez donc la trace de votre position.
{{ with .Values.image }}
{{ with .pullSecrets }}
# . is now pullSecrets
{{ end }}
{{ end }}Vérification rapide
À l’intérieur d’un bloc {{ with .Values.image }}, vous essayez de lire .Release.Name, mais la valeur est vide.
Récapitulatif
Vous savez désormais définir la portée du point avec with, bénéficier d’une vérification automatique des valeurs vides, ajouter une solution de repli avec else et atteindre la racine avec $. Des modèles plus propres ! 🎯
Questions Fréquemment Posées
La leçon « Délimiter un bloc avec with » est-elle gratuite ?
Oui — le texte complet de « Délimiter un bloc avec with » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours DevOps Bootcamp, passe à CoddyKit PRO. Le cours DevOps Bootcamp comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Délimiter un bloc avec with » ?
Réduisez le point à un sous-arbre et évitez ses pièges. Tu pratiques DevOps Bootcamp avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer DevOps Bootcamp ?
Aucune expérience préalable n'est requise. DevOps Bootcamp sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 4 sur 4.
Combien de temps prend la leçon « Délimiter un bloc avec with » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon DevOps Bootcamp ?
Oui. Chaque leçon DevOps Bootcamp inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Blocs conditionnels avec if et else
- Valeur de vérité et opérateurs dans les conditions
- Parcourir les listes et les cartes avec range
- Délimiter un bloc avec with