0Pricing
DevOps Bootcamp · Урок

Запуск задачи только при значении True

Ограничивайте запуск задач логическим условием

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

Задачи, принимающие решения

Иногда задача должна выполняться только в определённых случаях. Ключевое слово when запускает задачу при выбранном Вами условии. 🚦

Ключевое слово when

Добавьте when в любую задачу. Если выражение истинно, задача запускается; если ложно, Ansible пропускает её и продолжает работу.

- name: Reboot the box
  ansible.builtin.reboot:
  when: reboot_required

Фигурные скобки не нужны

Внутри when записывается выражение без дополнительных символов. В отличие от строк, двойные фигурные скобки не нужны, поскольку when уже задаёт контекст Jinja2.

when: ansible_distribution == "Ubuntu"

Переменные, принимающие значение true

Простая логическая переменная работает непосредственно. Если install_extras имеет значение true, задача выполняется, иначе её молча пропускают.

- name: Add extra tools
  ansible.builtin.package:
    name: htop
  when: install_extras

Сравнения

Условия могут сравнивать значения. Операторы ==, !=, < и > позволяют запускать задачи в зависимости от чисел и строк. ⚖️

when: app_version == "2.0"

Пропуск и ошибка — не одно и то же

Пропущенная задача не является ошибкой. В выводе запуска вместо ok или changed отображается skipping, а плей продолжается.

Отрицание условия

Используйте not, чтобы инвертировать проверку. Эта задача выполняется только тогда, когда служба ещё не установлена.

when: not service_installed

Определена переменная или нет

Можно проверить, существует ли переменная. Проверка is defined защищает от ошибок, вызванных неопределёнными переменными.

when: custom_port is defined

when выполняется для каждого узла

Каждый узел проверяется отдельно. В одном и том же плее условие может быть истинным на одном сервере и ложным на другом.

Сохраняйте условия простыми

Понятные условия надёжнее. Если условие when становится длинным, разделите логику или используйте переменную, описывающую её назначение.

Условный, а не императивный подход

when сохраняет декларативность плейбуков: Вы описываете условие, а Ansible принимает решение для каждого узла. Блоки if и разветвляющиеся сценарии не нужны. 🎯

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

Проверим, как работает when.

Итоги

Ключевое слово when запускает задачу, только если её выражение истинно. Ложное выражение означает пропуск, а не ошибку; проверка выполняется для каждого узла. ✅

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

Урок «Запуск задачи только при значении True» бесплатный?

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

Чему я научусь в уроке «Запуск задачи только при значении True»?

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

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

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

Сколько времени занимает урок «Запуск задачи только при значении True»?

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

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

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

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

  1. Запуск задачи только при значении True
  2. Ветвление по сведениям о семействе ОС
  3. Объединение условий с and / or
  4. Регистрация результата и принятие решения
← Назад к DevOps Bootcamp