Вставка частичных шаблонов с template и include
Почему include поддерживает композицию с конвейерами, а template — нет
«Вставка частичных шаблонов с template и include» — бесплатный урок Helm Academy на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Helm Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Helm Academy содержит 4 уроков всего.
Вызов частичного шаблона
Определённый частичный шаблон ничего не делает, пока его не вызовут. Для этого Helm предоставляет два действия: template и include.
Действие template
Действие template вставляет именованный частичный шаблон непосредственно в текущий текст. Ему передают имя частичного шаблона и объект области действия, из которого он читает данные.
{{ template "mychart.labels" . }}Почему возможности template ограничены
Действие template является инструкцией, а не выражением. Его результат сразу попадает в документ, и его нельзя передать через канал другим функциям.
Знакомство с include
Helm добавляет функцию include, устраняя это ограничение. Она отображает те же частичные шаблоны, но возвращает результат как строку, которую можно преобразовать.
{{ include "mychart.labels" . }}include сочетается с конвейерами
Поскольку include возвращает значение, его можно передавать через канал таким функциям, как indent или nindent. Поэтому в чартах почти всегда предпочитают include.
{{ include "mychart.labels" . | indent 4 }}Главная причина — отступы
Вставленный YAML должен оказаться на нужном уровне отступа. Только include можно передать через канал функции nindent, поэтому он каждый раз создаёт правильно вложенный результат.
metadata:
labels:
{{- include "mychart.labels" . | nindent 4 }}Аргумент области действия
Точка после имени частичного шаблона — это область действия, которую вы ему передаёте. Передача корневой точки позволяет частичному шаблону читать .Values и .Release.
{{ include "mychart.fullname" . }}Помощник, создающий имя
Здесь частичный шаблон возвращает имя, а Deployment использует include, чтобы вставить его в метаданные. Один источник истины — множество вызывающих шаблонов.
metadata:
name: {{ include "mychart.fullname" . }}У template есть своё назначение
Вы всё ещё можете встретить template, часто в частичных шаблонах, которые самостоятельно выводят целый блок на отдельной строке и не требуют передачи через канал.
{{ template "mychart.notes" . }}Практическое правило
Если результат нужно выровнять отступами или дополнительно обработать, используйте include. Применяйте обычное действие шаблона только тогда, когда это действительно не требуется.
Выполните рендеринг для проверки
Выполните helm template . и проверьте, что частичный шаблон раскрылся с ожидаемыми отступами. Неправильное выравнивание YAML — классическая ошибка в этом месте.
helm template my-release .Быстрая проверка
Вам нужно отрендерить частичный шаблон и добавить к нему отступ под ключом labels. Какое действие подойдёт?
Итоги: template и include
Оба действия вызывают частичные шаблоны, но include возвращает строку, которую можно передать дальше по конвейеру, а template только выводит её непосредственно. Для аккуратного YAML используйте include вместе с nindent. ✨
Часто задаваемые вопросы
Урок «Вставка частичных шаблонов с template и include» бесплатный?
Да — полный текст урока «Вставка частичных шаблонов с template и include» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Helm Academy, подпишись на CoddyKit PRO. Курс Helm Academy содержит 4 уроков всего.
Чему я научусь в уроке «Вставка частичных шаблонов с template и include»?
Почему include поддерживает композицию с конвейерами, а template — нет Ты практикуешь Helm Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Helm Academy?
Предыдущий опыт не требуется. Helm Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.
Сколько времени занимает урок «Вставка частичных шаблонов с template и include»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Helm Academy?
Да. Каждый урок Helm Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Определение частичного шаблона с define
- Вставка частичных шаблонов с template и include
- Стандартные помощники Fullname и Labels
- Передача области видимости в именованный шаблон