Как стать автором
Обновить

Тестирование и непрерывная интеграция для Ansible-ролей при помощи Molecule и Jenkins

Время на прочтение 7 мин
Количество просмотров 18K
Всего голосов 16: ↑16 и ↓0 +16
Комментарии 8

Комментарии 8

Статья очень во время. Я понимаю, что это не типично работать из Windows с такими инструментами (сам так делаю). В качестве приемлимой альтернативы остановился на использовании Ubuntu on Windows. И хотя Docker полноценно не может работать в WSL, он отлично подключается к Docker on Windows (нужно только разрешить TCP соединения на 127.0.0.1 в настройках).

Полезно и однозначно в планах на внедрение.
Но в районе «превосходная система» меня несколько покорёжило.
Ну дело вкуса, мне Ansible нравится)
Как вы выживаете в условиях текущего поведения include_role и глобальных переменных?
У нас пока нигде не возникало нужды использовать include_role. Мы просто имеем много ролей, а плейбуки являются комбинацией ролей. В каком случае include_role может быть необходим?

Касательно переменных — Вы имеете в виду, что в момент выполнения трудно понять, какие значения будут у переменных? Ну да, есть такое, обратная сторона гибкости. Возможно, имело смысл реализовать параметры ролей с дефолтными значениями. С другой стороны, иметь переменные на разных уровнях (групп хостов, хостов, плейбуков) довольно удобно.
Задумка include_role была проста: переиспользование кода. Например, logrotate используется большим числом приложений, и конфигурирование logrotate логично делать через include_role (так же как и, например, nginx для приложений).

К сожалению, переиспользование кода натыкается на утверждение разработчиков, что ансибл — не язык программирования. Что вызывает редкостную боль в связи с тем, что все известные средства контроля сложности подразумевают подход к «этому» как к коду.
Но в районе «превосходная система» меня несколько покорёжило.

А есть что-то лучше?

Зарегистрируйтесь на Хабре , чтобы оставить комментарий

Публикации

Истории