🔥 Не используйте теги в AnsibleМногие восхищаются гибкостью тегов и рекомендуют разделять ими сценарии исполнения кода в одной кодовой базе. По сути теги в Ansible — это аналог оператора
GOTO
в инфраструктурном коде.
Итак, ключевые доводы против использования тегов:
⚪️ Снижение читаемости и поддержки кода. Теги разбивают плейбуки на фрагменты и усложняют понимание общей логики выполнения задач.
⚪️ Проблемы с предсказуемостью. Теги позволяют запускать только определенные части плейбука, но это нарушает последовательность выполнения.
⚪️ Усложнение отладки и тестирования. С тегами отладка становится сложнее, так как нужно вручную проверять, какие задачи выполнялись, а какие нет.
⚪️ Риск дублирования логики. Для избежания зависимостей разработчики могут дублировать код в разных тегах, что увеличивает объем кода и вероятность несогласованности.
Альтернативы есть — можно использовать модули (
roles
) и включения (
includes
) для структурирования плейбуков. Это позволяет разделить логику на логические блоки без необходимости прибегать к тегам.
@DevOpsKaz 😛