SlideShare una empresa de Scribd logo
1 de 28
Descargar para leer sin conexión
Тестируем
инфраструктуру
как код
Игорь Курочкин
О себе
• Express 42
• Qik/Skype/Microsoft
• Chef/Puppet
• Ansible/SaltStack
О чем доклад?
• Тестирование
• Инструменты
• Автоматизация
• Наш опыт
Тесты?
• Качество
• Обратная связь
• Автоматизация
• Документация
Тесты?
Когда актуально?
• Изменения
• Коллектив
• Сложная логика
• Чужой код
Какие системы?
• Chef
• Puppet
• Ansible
• SaltStack
Что тестировать?
• Кукбуки (Chef )
• Модули (Puppet)
• Роли (Ansible)
• Формулы (SaltStack)
Что проверяем?
• Стиль языка и кода
• Функционал
• Интеграцию
• Результат
Стиль языка
• Ruby
• rubocop
• Python
• pep8
Стиль кода
• Chef Foodcritic
• Puppet-lint
• Ansible-lint
• Salt-lint
Функционал
• Фикстуры или тестовые
данные:
• кукбук (Chef)
• модуль (Puppet)
• плейбук (Ansible)
• формула (SaltStack)
Интеграция
• Vagrant
• Test Kitchen
• Chef/Puppet/Ansible/Salt
• Vagrant/Docker/LXC
• Clouds
• Serverspec
Результат
• Serverspec - тесты для
инфраструктуры:
• Linux/BSD/Windows
• Встроенные ресурсы
• Замена bash
Результат
• Chef
• Audit mode
• Ansible
• Assert, URI, Script, Fail
Автоматизируем
• CI система
• Travis CI
• Другие CI системы
Travis CI
• SaaS для GitHub проектов
• Ограничения
• Окружение
• Ubuntu 12.04
• Пакеты
• Переменные
• Ресурсы
Test Kitchen + Travis CI
• Два инструмента
• Облачные провайдеры
Другие CI системы
• Jenkins
• TeamCity
• Bamboo
• Ваша CI система
А продакшн?
• Dry run (Chef)
• Noop mode (Puppet)
• Check mode (Ansible)
• State testing (SaltStack)
Что еще?
• Ревью кода
• Делимся с сообществом
Делимся
• Chef Supermarket
• Puppet Forge
• Ansible Galaxy
• Salt Formulas
Не забываем
• Приватная информация
• Тесты и статус сборки
• История изменений и
документация
• Совместимость и конфликты
• Синхронизация с платформой
• Лицензия
Как это делаем мы
• GitHub
• Travis CI
• Rubocop + Foodcritic
• Test Kitchen + Digital Ocean
• Serverspec
• Chef Supermarket
• Slack
Выводы
• Тестируйте
инфраструктуру
• Автоматизируйте
• Делитесь с сообществом
Контакты
• github.com/express42-cookbooks
• habrahabr.ru/company/express42/
• devopsdeflope.ru
• devopsru.com
• @express42_ru
Подарок
Вопросы?
• github.com/express42-cookbooks
• habrahabr.ru/company/express42/
• devopsdeflope.ru
• devopsru.com
• @express42_ru

Más contenido relacionado

La actualidad más candente

DevOps-40 meetup #7, Project FiFo
DevOps-40 meetup #7, Project FiFoDevOps-40 meetup #7, Project FiFo
DevOps-40 meetup #7, Project FiFoAlex Chistyakov
 
Continuous Delivery, или волшебная кнопка для релизов по запросу, Денис Яковл...
Continuous Delivery, или волшебная кнопка для релизов по запросу, Денис Яковл...Continuous Delivery, или волшебная кнопка для релизов по запросу, Денис Яковл...
Continuous Delivery, или волшебная кнопка для релизов по запросу, Денис Яковл...Ontico
 
Github Flow. Тестировщики против тестирования
Github Flow. Тестировщики против тестированияGithub Flow. Тестировщики против тестирования
Github Flow. Тестировщики против тестированияSQALab
 
«GitHub Flow — немного сложнее, чем на бумаге», Александр Бирюков
«GitHub Flow — немного сложнее, чем на бумаге», Александр Бирюков«GitHub Flow — немного сложнее, чем на бумаге», Александр Бирюков
«GitHub Flow — немного сложнее, чем на бумаге», Александр Бирюков2ГИС Технологии
 
Как автоматизировать комплексные системы
Как автоматизировать комплексные системыКак автоматизировать комплексные системы
Как автоматизировать комплексные системыSQALab
 
Путь мониторинга: модульность, гибкость, devops / Всеволод Поляков (Grammarly)
Путь мониторинга: модульность, гибкость, devops / Всеволод Поляков (Grammarly)Путь мониторинга: модульность, гибкость, devops / Всеволод Поляков (Grammarly)
Путь мониторинга: модульность, гибкость, devops / Всеволод Поляков (Grammarly)Ontico
 
Илья Кудинов
Илья КудиновИлья Кудинов
Илья КудиновCodeFest
 
Разделяй и властвуй!
Разделяй и властвуй!Разделяй и властвуй!
Разделяй и властвуй!Vitebsk Miniq
 
CodeFest 2012. Ивлиев Р. — Аккуратно переезжаем, или тестирование в проектах ...
CodeFest 2012. Ивлиев Р. — Аккуратно переезжаем, или тестирование в проектах ...CodeFest 2012. Ивлиев Р. — Аккуратно переезжаем, или тестирование в проектах ...
CodeFest 2012. Ивлиев Р. — Аккуратно переезжаем, или тестирование в проектах ...CodeFest
 
Готовим тестируемую инфраструктуру с Chef
Готовим тестируемую инфраструктуру с ChefГотовим тестируемую инфраструктуру с Chef
Готовим тестируемую инфраструктуру с ChefSQALab
 
Эволюция процесса деплоя в проекте — Денис Яковлев, 2ГИС
Эволюция процесса деплоя в проекте — Денис Яковлев, 2ГИСЭволюция процесса деплоя в проекте — Денис Яковлев, 2ГИС
Эволюция процесса деплоя в проекте — Денис Яковлев, 2ГИС2ГИС Технологии
 
Что такое Robot Framework?
Что такое Robot Framework?Что такое Robot Framework?
Что такое Robot Framework?Mykhailo Poliarush
 
Что такое проект по автоматизации тестирования ПО?
Что такое проект по автоматизации тестирования ПО?Что такое проект по автоматизации тестирования ПО?
Что такое проект по автоматизации тестирования ПО?Mykhailo Poliarush
 

La actualidad más candente (13)

DevOps-40 meetup #7, Project FiFo
DevOps-40 meetup #7, Project FiFoDevOps-40 meetup #7, Project FiFo
DevOps-40 meetup #7, Project FiFo
 
Continuous Delivery, или волшебная кнопка для релизов по запросу, Денис Яковл...
Continuous Delivery, или волшебная кнопка для релизов по запросу, Денис Яковл...Continuous Delivery, или волшебная кнопка для релизов по запросу, Денис Яковл...
Continuous Delivery, или волшебная кнопка для релизов по запросу, Денис Яковл...
 
Github Flow. Тестировщики против тестирования
Github Flow. Тестировщики против тестированияGithub Flow. Тестировщики против тестирования
Github Flow. Тестировщики против тестирования
 
«GitHub Flow — немного сложнее, чем на бумаге», Александр Бирюков
«GitHub Flow — немного сложнее, чем на бумаге», Александр Бирюков«GitHub Flow — немного сложнее, чем на бумаге», Александр Бирюков
«GitHub Flow — немного сложнее, чем на бумаге», Александр Бирюков
 
Как автоматизировать комплексные системы
Как автоматизировать комплексные системыКак автоматизировать комплексные системы
Как автоматизировать комплексные системы
 
Путь мониторинга: модульность, гибкость, devops / Всеволод Поляков (Grammarly)
Путь мониторинга: модульность, гибкость, devops / Всеволод Поляков (Grammarly)Путь мониторинга: модульность, гибкость, devops / Всеволод Поляков (Grammarly)
Путь мониторинга: модульность, гибкость, devops / Всеволод Поляков (Grammarly)
 
Илья Кудинов
Илья КудиновИлья Кудинов
Илья Кудинов
 
Разделяй и властвуй!
Разделяй и властвуй!Разделяй и властвуй!
Разделяй и властвуй!
 
CodeFest 2012. Ивлиев Р. — Аккуратно переезжаем, или тестирование в проектах ...
CodeFest 2012. Ивлиев Р. — Аккуратно переезжаем, или тестирование в проектах ...CodeFest 2012. Ивлиев Р. — Аккуратно переезжаем, или тестирование в проектах ...
CodeFest 2012. Ивлиев Р. — Аккуратно переезжаем, или тестирование в проектах ...
 
Готовим тестируемую инфраструктуру с Chef
Готовим тестируемую инфраструктуру с ChefГотовим тестируемую инфраструктуру с Chef
Готовим тестируемую инфраструктуру с Chef
 
Эволюция процесса деплоя в проекте — Денис Яковлев, 2ГИС
Эволюция процесса деплоя в проекте — Денис Яковлев, 2ГИСЭволюция процесса деплоя в проекте — Денис Яковлев, 2ГИС
Эволюция процесса деплоя в проекте — Денис Яковлев, 2ГИС
 
Что такое Robot Framework?
Что такое Robot Framework?Что такое Robot Framework?
Что такое Robot Framework?
 
Что такое проект по автоматизации тестирования ПО?
Что такое проект по автоматизации тестирования ПО?Что такое проект по автоматизации тестирования ПО?
Что такое проект по автоматизации тестирования ПО?
 

Similar a Rootconf-2015 Тестируем инфраструктуру как код

Тестируем инфраструктуру как код
Тестируем инфраструктуру как кодТестируем инфраструктуру как код
Тестируем инфраструктуру как кодAndrey Tokarchuk
 
Тестируем инфраструктуру как код
Тестируем инфраструктуру как кодТестируем инфраструктуру как код
Тестируем инфраструктуру как кодExpress 42
 
Юнит тестирование в Web. Как получать пользу и удовольствие.
Юнит тестирование в Web. Как получать пользу и удовольствие.Юнит тестирование в Web. Как получать пользу и удовольствие.
Юнит тестирование в Web. Как получать пользу и удовольствие.Sergey Ryabenko
 
Puppet development kit and best practices
Puppet development kit and best practicesPuppet development kit and best practices
Puppet development kit and best practicesIgor Kurochkin
 
Тестирование весна 2014 смешанное занятие 1
Тестирование весна 2014 смешанное занятие 1Тестирование весна 2014 смешанное занятие 1
Тестирование весна 2014 смешанное занятие 1Technopark
 
Добиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестовДобиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестовSQALab
 
Автоматическое тестирование Web api
Автоматическое тестирование Web apiАвтоматическое тестирование Web api
Автоматическое тестирование Web apiIgor Lyubin
 
DevOps в Agile среде. Как, почему и когда инструменты помогают.
DevOps в Agile среде. Как, почему и когда инструменты помогают.DevOps в Agile среде. Как, почему и когда инструменты помогают.
DevOps в Agile среде. Как, почему и когда инструменты помогают.Alexander Titov
 
Инструменты автоматизации тестирования - дефективные
Инструменты автоматизации тестирования - дефективныеИнструменты автоматизации тестирования - дефективные
Инструменты автоматизации тестирования - дефективныеSQALab
 
Иван Евтухович — Как перестать релизиться и начать жить
Иван Евтухович — Как перестать релизиться и начать житьИван Евтухович — Как перестать релизиться и начать жить
Иван Евтухович — Как перестать релизиться и начать житьDaria Oreshkina
 
Mykyta Krychko "When simple TRUE / FALSE is not enough. Analyzing test result...
Mykyta Krychko "When simple TRUE / FALSE is not enough. Analyzing test result...Mykyta Krychko "When simple TRUE / FALSE is not enough. Analyzing test result...
Mykyta Krychko "When simple TRUE / FALSE is not enough. Analyzing test result...Fwdays
 
20 апреля, DEV {highload} - конференция о Highload веб-разработке, "Инженерны...
20 апреля, DEV {highload} - конференция о Highload веб-разработке, "Инженерны...20 апреля, DEV {highload} - конференция о Highload веб-разработке, "Инженерны...
20 апреля, DEV {highload} - конференция о Highload веб-разработке, "Инженерны...IT-Portfolio
 
C&C for coffee'n'code
C&C for coffee'n'codeC&C for coffee'n'code
C&C for coffee'n'codeIvan Mosiev
 
Большая книга рецептов или часто задаваемые вопросы по управлению сложными си...
Большая книга рецептов или часто задаваемые вопросы по управлению сложными си...Большая книга рецептов или часто задаваемые вопросы по управлению сложными си...
Большая книга рецептов или часто задаваемые вопросы по управлению сложными си...Ontico
 
Большая книга рецептов или часто задаваемые вопросы по управлению сложными пр...
Большая книга рецептов или часто задаваемые вопросы по управлению сложными пр...Большая книга рецептов или часто задаваемые вопросы по управлению сложными пр...
Большая книга рецептов или часто задаваемые вопросы по управлению сложными пр...Ontico
 
Автоматизация в тестировании инфраструктуры
Автоматизация в тестировании инфраструктурыАвтоматизация в тестировании инфраструктуры
Автоматизация в тестировании инфраструктурыSQALab
 
Непрерывная интеграция шаг к непрерывному деплою. Родионов Игорь
Непрерывная интеграция шаг к непрерывному деплою. Родионов ИгорьНепрерывная интеграция шаг к непрерывному деплою. Родионов Игорь
Непрерывная интеграция шаг к непрерывному деплою. Родионов ИгорьPVasili
 
CodeFest 2014. Павлов И. — Как делать прототипы в автоматизации тестирования
CodeFest 2014. Павлов И. — Как делать прототипы в автоматизации тестированияCodeFest 2014. Павлов И. — Как делать прототипы в автоматизации тестирования
CodeFest 2014. Павлов И. — Как делать прототипы в автоматизации тестированияCodeFest
 
непрерывная интеграция шаг к непрерывному деплою родионов игорь
непрерывная интеграция   шаг к непрерывному деплою родионов игорьнепрерывная интеграция   шаг к непрерывному деплою родионов игорь
непрерывная интеграция шаг к непрерывному деплою родионов игорьdrupalconf
 
Артём Ерошенко, Станислав Селиверстов "Поиск багов в поиске"
Артём Ерошенко, Станислав Селиверстов "Поиск багов в поиске"Артём Ерошенко, Станислав Селиверстов "Поиск багов в поиске"
Артём Ерошенко, Станислав Селиверстов "Поиск багов в поиске"Yandex
 

Similar a Rootconf-2015 Тестируем инфраструктуру как код (20)

Тестируем инфраструктуру как код
Тестируем инфраструктуру как кодТестируем инфраструктуру как код
Тестируем инфраструктуру как код
 
Тестируем инфраструктуру как код
Тестируем инфраструктуру как кодТестируем инфраструктуру как код
Тестируем инфраструктуру как код
 
Юнит тестирование в Web. Как получать пользу и удовольствие.
Юнит тестирование в Web. Как получать пользу и удовольствие.Юнит тестирование в Web. Как получать пользу и удовольствие.
Юнит тестирование в Web. Как получать пользу и удовольствие.
 
Puppet development kit and best practices
Puppet development kit and best practicesPuppet development kit and best practices
Puppet development kit and best practices
 
Тестирование весна 2014 смешанное занятие 1
Тестирование весна 2014 смешанное занятие 1Тестирование весна 2014 смешанное занятие 1
Тестирование весна 2014 смешанное занятие 1
 
Добиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестовДобиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестов
 
Автоматическое тестирование Web api
Автоматическое тестирование Web apiАвтоматическое тестирование Web api
Автоматическое тестирование Web api
 
DevOps в Agile среде. Как, почему и когда инструменты помогают.
DevOps в Agile среде. Как, почему и когда инструменты помогают.DevOps в Agile среде. Как, почему и когда инструменты помогают.
DevOps в Agile среде. Как, почему и когда инструменты помогают.
 
Инструменты автоматизации тестирования - дефективные
Инструменты автоматизации тестирования - дефективныеИнструменты автоматизации тестирования - дефективные
Инструменты автоматизации тестирования - дефективные
 
Иван Евтухович — Как перестать релизиться и начать жить
Иван Евтухович — Как перестать релизиться и начать житьИван Евтухович — Как перестать релизиться и начать жить
Иван Евтухович — Как перестать релизиться и начать жить
 
Mykyta Krychko "When simple TRUE / FALSE is not enough. Analyzing test result...
Mykyta Krychko "When simple TRUE / FALSE is not enough. Analyzing test result...Mykyta Krychko "When simple TRUE / FALSE is not enough. Analyzing test result...
Mykyta Krychko "When simple TRUE / FALSE is not enough. Analyzing test result...
 
20 апреля, DEV {highload} - конференция о Highload веб-разработке, "Инженерны...
20 апреля, DEV {highload} - конференция о Highload веб-разработке, "Инженерны...20 апреля, DEV {highload} - конференция о Highload веб-разработке, "Инженерны...
20 апреля, DEV {highload} - конференция о Highload веб-разработке, "Инженерны...
 
C&C for coffee'n'code
C&C for coffee'n'codeC&C for coffee'n'code
C&C for coffee'n'code
 
Большая книга рецептов или часто задаваемые вопросы по управлению сложными си...
Большая книга рецептов или часто задаваемые вопросы по управлению сложными си...Большая книга рецептов или часто задаваемые вопросы по управлению сложными си...
Большая книга рецептов или часто задаваемые вопросы по управлению сложными си...
 
Большая книга рецептов или часто задаваемые вопросы по управлению сложными пр...
Большая книга рецептов или часто задаваемые вопросы по управлению сложными пр...Большая книга рецептов или часто задаваемые вопросы по управлению сложными пр...
Большая книга рецептов или часто задаваемые вопросы по управлению сложными пр...
 
Автоматизация в тестировании инфраструктуры
Автоматизация в тестировании инфраструктурыАвтоматизация в тестировании инфраструктуры
Автоматизация в тестировании инфраструктуры
 
Непрерывная интеграция шаг к непрерывному деплою. Родионов Игорь
Непрерывная интеграция шаг к непрерывному деплою. Родионов ИгорьНепрерывная интеграция шаг к непрерывному деплою. Родионов Игорь
Непрерывная интеграция шаг к непрерывному деплою. Родионов Игорь
 
CodeFest 2014. Павлов И. — Как делать прототипы в автоматизации тестирования
CodeFest 2014. Павлов И. — Как делать прототипы в автоматизации тестированияCodeFest 2014. Павлов И. — Как делать прототипы в автоматизации тестирования
CodeFest 2014. Павлов И. — Как делать прототипы в автоматизации тестирования
 
непрерывная интеграция шаг к непрерывному деплою родионов игорь
непрерывная интеграция   шаг к непрерывному деплою родионов игорьнепрерывная интеграция   шаг к непрерывному деплою родионов игорь
непрерывная интеграция шаг к непрерывному деплою родионов игорь
 
Артём Ерошенко, Станислав Селиверстов "Поиск багов в поиске"
Артём Ерошенко, Станислав Селиверстов "Поиск багов в поиске"Артём Ерошенко, Станислав Селиверстов "Поиск багов в поиске"
Артём Ерошенко, Станислав Селиверстов "Поиск багов в поиске"
 

Rootconf-2015 Тестируем инфраструктуру как код