0Pricing
DevOps Bootcamp · Урок

nindent и indent на практике

Вставляйте блоки на правильном уровне отступа

«nindent и indent на практике» — бесплатный урок DevOps Bootcamp на CoddyKit. Это урок 3 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения DevOps Bootcamp, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс DevOps Bootcamp содержит 4 уроков всего.

В YAML важны отступы

YAML использует пробелы для обозначения структуры, поэтому блок, вставленный на неправильной глубине, ломает файл. Helm предоставляет вспомогательные функции, чтобы правильно добавлять отступы к indent выводу.

Что делает indent

Функция indent добавляет фиксированное число пробелов в начало каждой строки строкового значения, сдвигая весь блок вправо.

{{ .Values.config | indent 4 }}

Он не добавляет новую строку

Вот важный нюанс: indent сдвигает каждую строку, но не добавляет начальную новую строку. Первая строка оказывается прямо там, где расположен вызов.

Знакомьтесь: nindent

Функция nindent делает то же самое с отступами, но сначала выводит новую строку, поэтому блок аккуратно начинается с отдельной строки.

data:
  {{ .Values.config | nindent 4 }}

Зачем нужен n в nindent

Начальная новая строка, которую добавляет nindent, избавляет вас от необходимости оставлять пробел в конце и наугад подбирать выравнивание после ключа в той же строке.

Самый распространённый случай

Чаще всего nindent используется при размещении блока toYaml под ключом: так отрендеренная карта аккуратно располагается под ключом.

resources:
  {{ toYaml .Values.resources | nindent 4 }}

Считайте от ключа

Выбирайте число, считая пробелы от родительского ключа, а не от нулевого столбца. Вложенному на два уровня дочернему элементу обычно нужен nindent 4.

Когда подходит indent

Обычный indent подходит, когда блок уже начинается с отдельной строки и перед ним не нужно добавлять дополнительную новую строку.

Следите за ошибкой в два пробела

Большинство уровней вложенности YAML увеличивается на два пробела. Ошибка в подсчёте nindent на два пробела — главная причина, по которой чарт не удаётся разобрать.

Проверяйте рендерингом

Не угадывайте глубину. Запустите helm template и изучите необработанный вывод, чтобы убедиться, что вставленный блок выровнен относительно родительского ключа.

helm template ./mychart | less

Оба принимают данные из конвейера

Обе функции получают строку из конвейера слева, поэтому они естественно сочетаются с toYaml для форматирования целой карты в манифесте.

Быстрая проверка

Вы пишете {{ toYaml .Values.env | indent 4 }} сразу после ключа в той же строке, и YAML становится некорректным.

Итоги

Теперь вы знаете, что indent добавляет отступы к блоку, nindent сначала добавляет новую строку, а рендеринг — самый надёжный способ проверить глубину. 🧹

Часто задаваемые вопросы

Урок «nindent и indent на практике» бесплатный?

Да — полный текст урока «nindent и indent на практике» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс DevOps Bootcamp, подпишись на CoddyKit PRO. Курс DevOps Bootcamp содержит 4 уроков всего.

Чему я научусь в уроке «nindent и indent на практике»?

Вставляйте блоки на правильном уровне отступа Ты практикуешь DevOps Bootcamp с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать DevOps Bootcamp?

Предыдущий опыт не требуется. DevOps Bootcamp на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 4.

Сколько времени занимает урок «nindent и indent на практике»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке DevOps Bootcamp?

Да. Каждый урок DevOps Bootcamp включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Присваивание переменных шаблона
  2. Сохранение корневой точки внутри range
  3. nindent и indent на практике
  4. Отладка пробелов в отрендеренном выводе
← Назад к DevOps Bootcamp