Я пробовал разные подходы
- при тестирование развертывания SDS (software-defined storage): gitlab / vagrant / ruby / docker / bash / ansible / serverspec / virtualbox ~60 фактически на интеграционные тесты развертывания.
- test Ansible roles: ansible / hyper-v / jenkins / testkitchen / inspec ~40-70 минут для 25-35 ролей.
- test Ansible roles: ansible / docker / jenkins / molecule / testinfa ~20-25 минут для 50-55 ролей.
С моей колокльни это все медленно. И пришел к пирамиде тестирования инфраструктуры
static - shellcheck/ansible lint
unit - molecule/kitchen + testinfra/inspec для отдельных базовых ролей
integration - проверяем конфиг сервера состоящий из множества ролей настраивается правильно. molecule/kitchen
e2e - что множество серверов работают правильно. нет готового только боль и страдание
Вобщем, кто может рассказать/научить как надо делать правильно?
очень хороший пост. большое спасибо! приятно это видеть
если смотреть глобально, то думаю, будет полезен опыт CI/CD самого проекта ansible. все же ранг 88 из github проектов
В можно пример последнего варианта глянуть? У нас тоже немалый опыт по тестированию ролей наработан
Вот
Обсуждают сегодня