View
56
Download
7
Category
Preview:
Citation preview
Тестируем инфраструктуру как код
Игорь КурочкинExpress 42
О себеExpress 42Qik/Skype/Microsoft
Chef/Puppet
Надежные решения для сложной инфраструктуры2
О чем доклад?Тестирование инфраструктурыИнструментыАвтоматизацияНаш опыт
Надежные решения для сложной инфраструктуры3
Тесты?Поиск ошибокСовместимостьДокументация
Надежные решения для сложной инфраструктуры4
Когда актуально?Сторонний кодСложная логикаЧастые изменения
Надежные решения для сложной инфраструктуры5
Какие системы?
Надежные решения для сложной инфраструктуры6
Что тестировать?Кукбуки (Chef)Модули (Puppet)Роли (Ansible)Формулы (Salt)
Надежные решения для сложной инфраструктуры7
Что проверяем?CтильФункционалРезультатИнтеграцию
Надежные решения для сложной инфраструктуры8
Cтиль языкаRuby
• rubocopPython
• pep8
Надежные решения для сложной инфраструктуры9
Стиль кодаChef FoodcriticPuppet-lintAnsible-lintSalt-lint
Надежные решения для сложной инфраструктуры10
ФункционалФикстуры - тестовые данные:• кукбук • модуль• плейбук
Надежные решения для сложной инфраструктуры11
Результат
Надежные решения для сложной инфраструктуры12
Serverspec - тесты для инфраструктуры:• Linux/BSD/Windows• Встроенные ресурсы
Как тестируют?Выполнить проверкиЗапустить код в VagrantПосмотреть измененияЗайти на машинуПроверить состояние
Надежные решения для сложной инфраструктуры13
АвтоматизируемKitchen CITravis CIДругие CI системы
Надежные решения для сложной инфраструктуры14
Test KitchenНо это только для Chef?Уже нет.
Надежные решения для сложной инфраструктуры15
Test KitchenChef/Puppet/Ansible/SaltVagrantCloudServerspec
Надежные решения для сложной инфраструктуры16
Travis CICI система для GitHubSaaSUbuntu 12.04
Надежные решения для сложной инфраструктуры17
Kitchen+Travis CIДва инструментаОблачные провайдеры
Надежные решения для сложной инфраструктуры18
Другие CI системыJenkinsTeamCityBambooВаша CI система
Надежные решения для сложной инфраструктуры19
Что еще?Делимся с сообществом
Надежные решения для сложной инфраструктуры20
ДелимсяChef SupermarketPuppet ForgeAnsible GalaxySalt Formulas
Надежные решения для сложной инфраструктуры21
Не забываемПриватная информацияВерсии и тегиТесты и статус сборкиИстория изменений и документацияСовместимость и конфликтыЛицензия
Надежные решения для сложной инфраструктуры22
Как это делаем мыChef cookbooks + GitHubTravis CIRubocop + Foodcritic Test Kitchen + Digital Ocean + Serverspec Chef SupermarketСтатус сборки и нотификации в Slack чат
Надежные решения для сложной инфраструктуры23
ВыводыТестируйте инфраструктуруАвтоматизируйтеДелитесь с сообществом
Надежные решения для сложной инфраструктуры24
Контакты• github.com/express42-cookbooks• habrahabr.ru/company/express42/• devopsdeflope.ru• devopsru.com• @express42_ru
25
Подарок
26
Вопросы?• github.com/express42-cookbooks• habrahabr.ru/company/express42/• devopsdeflope.ru• devopsru.com• @express42_ru
27
Recommended