Моя команда создала большое количество поваренных кулинарных книг. Мне было интересно, какие методы и структуры я должен изучить, чтобы мы могли начать создавать тесты, чтобы убедиться, что наши узлы настроены правильно?
Моя команда создала большое количество поваренных кулинарных книг. Мне было интересно, какие методы и структуры я должен изучить, чтобы мы могли начать создавать тесты, чтобы убедиться, что наши узлы настроены правильно?
Ответы:
Существует cucumber-chef
рубиновый камень и недавно вышедшая книга Нельсона-Смита и др. - «Управляемая тестами инфраструктура с шеф-поваром», в которой используется этот камень - http://www.cucumber-chef.org/
Просто вспомнил об этом из моего списка наблюдения на github: https://github.com/gregretkowski/vmth/
VMTH (Virtual Machine Test Harness) предоставляет механизм для модульного тестирования автоматизации вашей инфраструктуры - политик марионеток, рецептов шеф-поваров, выпуска сценариев развертывания и т. Д. Он использует функции современных мониторов виртуальных машин (например, qemu) для создания снимка состояния системы, а затем сбрасывает его. это состояние после каждого теста, так что серия тестов может быть выполнена на экземпляре виртуальной машины в быстрой последовательности
Есть несколько вариантов.
Opscode поддерживает план разработки Chef «no-op», который поможет с тестированием. Мы утверждаем, что «no-op» не обязательно делает то, что вы хотите, но понимаете желание этой функции.
Некоторые ответы здесь кажутся немного старыми. Для CI и локального тестирования я хотел бы использовать инструмент для тестирования, например Test Kitchen, который также поддерживает Vagrant, если вы уже использовали его.
Это позволит вам использовать свои coobkooks против многих облачных решений и решений для виртуализации, существующих сегодня: EC2, Digital Ocean, Vagrant, Docker и т. Д.
Он также имеет плагины, позволяющие вам запустить один из многих инструментов тестирования инфраструктуры, существующих сегодня:
По моему опыту, единственный способ действительно сделать это с помощью промежуточной среды и тщательной практики разработки. Макетирование фактической работы, которую нужно выполнить, невероятно запутано и хрупко, и наборы тестов CI, работающие на коммите или push, требуют много усилий для написания и поддержки (хотя Chef, вероятно, намного лучше в этом, чем Puppet, который является моим основным опытом ), и занять смешное количество времени, чтобы бежать.
РЕДАКТИРОВАТЬ
Сразу после того, как я написал это, я внезапно понял, что может быть способ сделать достаточно эффективное «модульное» тестирование рецептов Chef / Puppet с объединенной файловой системой и значительным количеством строительных лесов. Тем не менее, я не могу найти там ничего, что кто-нибудь уже делал в этой области. Возможно, я только что нашел себе проект.