Специальные метки always и never
Принудительно запускайте или блокируйте задачи независимо от условий
«Специальные метки always и never» — бесплатный урок Ansible Academy на CoddyKit. Это урок 3 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Ansible Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Ansible Academy содержит 4 уроков всего.
Два зарезервированных тега
Ansible резервирует два специальных имени тегов со встроенным поведением: always и never. Это не фильтры, а правила. 🔒
always запускается каждый раз
Задача с тегом always запускается в каждом плейбуке независимо от переданных параметров --tags. Это идеальный вариант для обязательной подготовки.
- name: Gather setup
ansible.builtin.setup:
tags:
- alwaysПропуск always
Есть один способ обойти это правило: параметр --skip-tags always исключит даже такие задачи, если это действительно необходимо.
ansible-playbook site.yml --skip-tags alwaysУдачное применение always
Загрузка переменных или фактов, от которых зависят последующие задачи, — идеальное применение always: они будут доступны независимо от выбранного фильтра.
- ansible.builtin.include_vars: app.yml
tags:
- alwaysnever остаётся скрытым
Задача с тегом never по умолчанию пропускается. Она запускается только при явном запросе или запросе другого своего тега.
- name: Wipe database
ansible.builtin.command: drop-all
tags:
- never
- debugЯвное включение never
Чтобы запустить задачу never, укажите её напрямую с помощью --tags. Явный запрос отменяет пропуск по умолчанию.
ansible-playbook site.yml --tags debugnever для опасных действий
Используйте never для защиты рискованных или редко нужных задач, например удаления данных, чтобы они никогда не запустились случайно.
Сочетание never с обычным тегом
Добавьте к задаче never ещё и второй тег. Тогда её можно будет запускать по понятному имени, а never будет безопасно отключать её по умолчанию.
always важнее выбора
Даже если вы запускаете --tags config, каждая задача always всё равно выполняется вместе с выбранными задачами. Этот тег действует дополнительно.
Два противоположных правила по умолчанию
Запомните симметрию: always включает задачу, если её не пропустить, а never выключает её, если не запросить явно.
Безопасная задача очистки
Эта задача, удаляющая данные, имеет теги never и cleanup, поэтому запускается только при намеренном запросе очистки. 🛡️
- name: Reset state
ansible.builtin.command: reset.sh
tags:
- never
- cleanupБыстрая проверка
Задача имеет только тег never. Когда она запускается?
Итоги
Вы узнали, что always запускается, если его не пропустить, а never остаётся отключённым, пока вы явно не запросите его тег, защищая рискованные задачи. ✅
Часто задаваемые вопросы
Урок «Специальные метки always и never» бесплатный?
Да — полный текст урока «Специальные метки always и never» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Ansible Academy, подпишись на CoddyKit PRO. Курс Ansible Academy содержит 4 уроков всего.
Чему я научусь в уроке «Специальные метки always и never»?
Принудительно запускайте или блокируйте задачи независимо от условий Ты практикуешь Ansible Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Ansible Academy?
Предыдущий опыт не требуется. Ansible Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 4.
Сколько времени занимает урок «Специальные метки always и never»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Ansible Academy?
Да. Каждый урок Ansible Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Добавление меток к задачам, плейбукам и ролям
- Фильтрация запусков с --tags и --skip-tags
- Специальные метки always и never
- Просмотр меток и задач перед запуском