SlideShare a Scribd company logo
1 of 13
инструмент для разработки и
тестирования
Проблема
• Как легко переносить рабочее окружение
разработчика на разные платформы не вводя
ограничений?
• Как разрабатывать командой и не слышать «у
меня это не работает» ?
• Как тестировать написанное приложение на
разных системах?
• Как не засорять рабочую машину разными
версиями софта?
Vagrant CLI
Основные команды:
$ vagrant init – инициализация
$ vagrant up – запуск виртуального окружения
$ vagrant suspend – переведение машины в слип-режим
$ vagrant resume – восстановление из «сна»
$ vagrant halt – выключение запущенной машины
$ vagrant status – текущее состояние вагрант-окружения
$ vagrant destroy – остановка и удаление всех файлов вагранта
$ vagrant version – версия вагранта и проверка обновлений
$ vagrant help – справка по доступным ключам
Vagrantfile
Является связующим звеном в вашем проекте, которое
описывает как именно нужно запускать виртуальную
машину и с какими настройками (сеть, бокс, провиженер)
Провиженеры
Провиженеры запускаются сразу после того, как
виртуальная машина запущена и работает. Позволяют
установить весь нужный софт для вашего проекта в
автоматическом режиме.
Провиженеры:
– File
– Shell
– Ansible
– Chef
– Puppet
– Docker
– Salt
На практике
1. Создаем Vagrantfile и кладем в корень проекта (базовый пример -
https://github.com/stanma/vagrant/) :
2. Создаем bootstrap.sh и кладем в корень проекта:
3. Пишем vagrant up в консоли:
4. Заходим в виртуалку (vagrant ssh) и проверяем результат (vagrant –
vagrant):
Вопросы?
Спасибо!
Контакты
Малкин Станислав
malkin.stanislav@gmail.com
http://uawebchallenge.com

More Related Content

What's hot

Functional Testing with Selenium
Functional Testing with SeleniumFunctional Testing with Selenium
Functional Testing with SeleniumQA Club Kiev
 
Selenium grid on-demand
Selenium grid on-demandSelenium grid on-demand
Selenium grid on-demandSQALab
 
Сергей Мелашич "Настройка SEO для одностраничных web-приложений на Angular"
Сергей Мелашич "Настройка SEO для одностраничных web-приложений на Angular"Сергей Мелашич "Настройка SEO для одностраничных web-приложений на Angular"
Сергей Мелашич "Настройка SEO для одностраничных web-приложений на Angular"Fwdays
 
Тестирование REST-сервисов с применением инженерных практик
Тестирование REST-сервисов с применением инженерных практикТестирование REST-сервисов с применением инженерных практик
Тестирование REST-сервисов с применением инженерных практикSQALab
 
Непрерывная интеграция и автотесты. Сравнительный анализ инструментов
Непрерывная интеграция и автотесты. Сравнительный анализ инструментовНепрерывная интеграция и автотесты. Сравнительный анализ инструментов
Непрерывная интеграция и автотесты. Сравнительный анализ инструментовSQALab
 
End-2-End UI автоматизация в мобильном приложении. Наша реализация
End-2-End UI автоматизация в мобильном приложении. Наша реализацияEnd-2-End UI автоматизация в мобильном приложении. Наша реализация
End-2-End UI автоматизация в мобильном приложении. Наша реализацияSQALab
 
Никита Галкин "Testing in Node.js World"
Никита Галкин "Testing in Node.js World"Никита Галкин "Testing in Node.js World"
Никита Галкин "Testing in Node.js World"Fwdays
 
Как мы приручили демона или процесс тестирования демонов в Badoo
Как мы приручили демона или процесс тестирования демонов в BadooКак мы приручили демона или процесс тестирования демонов в Badoo
Как мы приручили демона или процесс тестирования демонов в BadooSQALab
 
UICov - инструмент анализа покрытия UI-тестами
UICov - инструмент анализа покрытия UI-тестамиUICov - инструмент анализа покрытия UI-тестами
UICov - инструмент анализа покрытия UI-тестамиSQALab
 
Jenkins 2.0: Организуем тестирование в составе Continuous Delivery
Jenkins 2.0: Организуем тестирование в составе Continuous DeliveryJenkins 2.0: Организуем тестирование в составе Continuous Delivery
Jenkins 2.0: Организуем тестирование в составе Continuous DeliverySQALab
 
Иван Крутов - Автоматизация сборки Java-проекта
Иван Крутов - Автоматизация сборки Java-проектаИван Крутов - Автоматизация сборки Java-проекта
Иван Крутов - Автоматизация сборки Java-проектаYandex
 
Kubernetes
KubernetesKubernetes
KubernetesSQALab
 
Docker + Selenium Webdriver в рамках Continuous Integration
Docker + Selenium Webdriver в рамках Continuous IntegrationDocker + Selenium Webdriver в рамках Continuous Integration
Docker + Selenium Webdriver в рамках Continuous IntegrationSQALab
 
Как успешно запустить проект в продакшен. Пётр адрианов.
Как успешно запустить проект в продакшен.  Пётр адрианов.Как успешно запустить проект в продакшен.  Пётр адрианов.
Как успешно запустить проект в продакшен. Пётр адрианов.NTR Lab
 
Как успешно запустить проект в продакшен. Пётр Адрианов
Как успешно запустить проект в продакшен.   Пётр АдриановКак успешно запустить проект в продакшен.   Пётр Адрианов
Как успешно запустить проект в продакшен. Пётр АдриановYana Kazantseva
 
"Web Vitals monitoring & optimizations", Erik Himiranov
"Web Vitals monitoring & optimizations", Erik Himiranov"Web Vitals monitoring & optimizations", Erik Himiranov
"Web Vitals monitoring & optimizations", Erik HimiranovFwdays
 
Сергей Комлач "Итоги Google I/O: что нас ждет"
Сергей Комлач "Итоги Google I/O: что нас ждет"Сергей Комлач "Итоги Google I/O: что нас ждет"
Сергей Комлач "Итоги Google I/O: что нас ждет"Fwdays
 
Использовании TypeScript для Node.js
Использовании TypeScript для Node.jsИспользовании TypeScript для Node.js
Использовании TypeScript для Node.jsFullStackJS
 

What's hot (20)

Functional Testing with Selenium
Functional Testing with SeleniumFunctional Testing with Selenium
Functional Testing with Selenium
 
Selenium grid on-demand
Selenium grid on-demandSelenium grid on-demand
Selenium grid on-demand
 
Сергей Мелашич "Настройка SEO для одностраничных web-приложений на Angular"
Сергей Мелашич "Настройка SEO для одностраничных web-приложений на Angular"Сергей Мелашич "Настройка SEO для одностраничных web-приложений на Angular"
Сергей Мелашич "Настройка SEO для одностраничных web-приложений на Angular"
 
Тестирование REST-сервисов с применением инженерных практик
Тестирование REST-сервисов с применением инженерных практикТестирование REST-сервисов с применением инженерных практик
Тестирование REST-сервисов с применением инженерных практик
 
Непрерывная интеграция и автотесты. Сравнительный анализ инструментов
Непрерывная интеграция и автотесты. Сравнительный анализ инструментовНепрерывная интеграция и автотесты. Сравнительный анализ инструментов
Непрерывная интеграция и автотесты. Сравнительный анализ инструментов
 
End-2-End UI автоматизация в мобильном приложении. Наша реализация
End-2-End UI автоматизация в мобильном приложении. Наша реализацияEnd-2-End UI автоматизация в мобильном приложении. Наша реализация
End-2-End UI автоматизация в мобильном приложении. Наша реализация
 
Cистемы автоматической сборки проектов (Полина Фоминых)
Cистемы автоматической сборки проектов (Полина Фоминых)Cистемы автоматической сборки проектов (Полина Фоминых)
Cистемы автоматической сборки проектов (Полина Фоминых)
 
Никита Галкин "Testing in Node.js World"
Никита Галкин "Testing in Node.js World"Никита Галкин "Testing in Node.js World"
Никита Галкин "Testing in Node.js World"
 
Как мы приручили демона или процесс тестирования демонов в Badoo
Как мы приручили демона или процесс тестирования демонов в BadooКак мы приручили демона или процесс тестирования демонов в Badoo
Как мы приручили демона или процесс тестирования демонов в Badoo
 
UICov - инструмент анализа покрытия UI-тестами
UICov - инструмент анализа покрытия UI-тестамиUICov - инструмент анализа покрытия UI-тестами
UICov - инструмент анализа покрытия UI-тестами
 
Jenkins 2.0: Организуем тестирование в составе Continuous Delivery
Jenkins 2.0: Организуем тестирование в составе Continuous DeliveryJenkins 2.0: Организуем тестирование в составе Continuous Delivery
Jenkins 2.0: Организуем тестирование в составе Continuous Delivery
 
Иван Крутов - Автоматизация сборки Java-проекта
Иван Крутов - Автоматизация сборки Java-проектаИван Крутов - Автоматизация сборки Java-проекта
Иван Крутов - Автоматизация сборки Java-проекта
 
Kubernetes
KubernetesKubernetes
Kubernetes
 
Docker + Selenium Webdriver в рамках Continuous Integration
Docker + Selenium Webdriver в рамках Continuous IntegrationDocker + Selenium Webdriver в рамках Continuous Integration
Docker + Selenium Webdriver в рамках Continuous Integration
 
Как успешно запустить проект в продакшен. Пётр адрианов.
Как успешно запустить проект в продакшен.  Пётр адрианов.Как успешно запустить проект в продакшен.  Пётр адрианов.
Как успешно запустить проект в продакшен. Пётр адрианов.
 
Как успешно запустить проект в продакшен. Пётр Адрианов
Как успешно запустить проект в продакшен.   Пётр АдриановКак успешно запустить проект в продакшен.   Пётр Адрианов
Как успешно запустить проект в продакшен. Пётр Адрианов
 
"Web Vitals monitoring & optimizations", Erik Himiranov
"Web Vitals monitoring & optimizations", Erik Himiranov"Web Vitals monitoring & optimizations", Erik Himiranov
"Web Vitals monitoring & optimizations", Erik Himiranov
 
Сергей Комлач "Итоги Google I/O: что нас ждет"
Сергей Комлач "Итоги Google I/O: что нас ждет"Сергей Комлач "Итоги Google I/O: что нас ждет"
Сергей Комлач "Итоги Google I/O: что нас ждет"
 
Использовании TypeScript для Node.js
Использовании TypeScript для Node.jsИспользовании TypeScript для Node.js
Использовании TypeScript для Node.js
 
Непрерывная интеграция (Марина Пестова)
Непрерывная интеграция (Марина Пестова)Непрерывная интеграция (Марина Пестова)
Непрерывная интеграция (Марина Пестова)
 

Similar to Vagrant: tool for development and testing

«Vagrant: інструмент для розробки та тестування» - Станіслав Малкін
«Vagrant: інструмент для розробки та тестування» - Станіслав Малкін  «Vagrant: інструмент для розробки та тестування» - Станіслав Малкін
«Vagrant: інструмент для розробки та тестування» - Станіслав Малкін WebChallenge
 
Cтандартизация рабочего окружения и автоматизация развертывания рабочей среды
Cтандартизация рабочего окружения и автоматизация развертывания рабочей средыCтандартизация рабочего окружения и автоматизация развертывания рабочей среды
Cтандартизация рабочего окружения и автоматизация развертывания рабочей средыWordCamp Kyiv
 
Виртуализация как инструмент разработчика
Виртуализация как инструмент разработчикаВиртуализация как инструмент разработчика
Виртуализация как инструмент разработчикаAlexander Kirillov
 
Виртуализация как инструмент разработчика
Виртуализация как инструмент разработчикаВиртуализация как инструмент разработчика
Виртуализация как инструмент разработчикаOpen-IT
 
Андрей Михайлов. Vagrant. Быстрое развертывание среды
Андрей Михайлов. Vagrant. Быстрое развертывание средыАндрей Михайлов. Vagrant. Быстрое развертывание среды
Андрей Михайлов. Vagrant. Быстрое развертывание средыDrupalSib
 
Maven 3 : уличная магия
Maven 3 : уличная магияMaven 3 : уличная магия
Maven 3 : уличная магияAleksey Solntsev
 
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качествеКак hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качествеSQALab
 
Быстрое развертывание среды разработки c Vagrant
Быстрое развертывание среды разработки c VagrantБыстрое развертывание среды разработки c Vagrant
Быстрое развертывание среды разработки c VagrantOlga Lavrentieva
 
Навигация в Android без боли и слез
Навигация в Android без боли и слезНавигация в Android без боли и слез
Навигация в Android без боли и слезMobileUp
 
Антон Каляев — Быстрое развертывание среды с Vagrant
Антон Каляев — Быстрое развертывание среды с VagrantАнтон Каляев — Быстрое развертывание среды с Vagrant
Антон Каляев — Быстрое развертывание среды с VagrantDaria Oreshkina
 
Application deployment & configuration management
Application deployment & configuration managementApplication deployment & configuration management
Application deployment & configuration managementAlexander Kirillov
 
Обзор Continuous integration инструментов
Обзор Continuous integration инструментовОбзор Continuous integration инструментов
Обзор Continuous integration инструментовVitalii Morvaniuk
 
Zero Downtime PHP Deployment with Envoyer And Forge
Zero Downtime PHP Deployment with Envoyer And ForgeZero Downtime PHP Deployment with Envoyer And Forge
Zero Downtime PHP Deployment with Envoyer And ForgeYehor Herasymchuk
 
Тестирование мобильных приложений
Тестирование мобильных приложенийТестирование мобильных приложений
Тестирование мобильных приложенийAlexander Khozya
 
Использование Open Source инструментов для автоматизации тестирования
Использование Open Source инструментов для автоматизации тестированияИспользование Open Source инструментов для автоматизации тестирования
Использование Open Source инструментов для автоматизации тестированияSQALab
 
CodeFest 2011. Высоцкий С. — Crawljax. Четвертый закон робототехники
CodeFest 2011. Высоцкий С. — Crawljax. Четвертый закон робототехникиCodeFest 2011. Высоцкий С. — Crawljax. Четвертый закон робототехники
CodeFest 2011. Высоцкий С. — Crawljax. Четвертый закон робототехникиCodeFest
 
Drupal code sprint для новичков
Drupal code sprint для новичковDrupal code sprint для новичков
Drupal code sprint для новичковOvadiah Myrgorod
 
Apache maven in java projects
Apache maven in java projectsApache maven in java projects
Apache maven in java projectsAsya Dudnik
 
Load testing of web applications
Load testing of web applicationsLoad testing of web applications
Load testing of web applicationsMageCloud
 
Eugene Dmitrichenko - Load testing of web applications
Eugene Dmitrichenko - Load testing of web applicationsEugene Dmitrichenko - Load testing of web applications
Eugene Dmitrichenko - Load testing of web applicationsCiklum Ukraine
 

Similar to Vagrant: tool for development and testing (20)

«Vagrant: інструмент для розробки та тестування» - Станіслав Малкін
«Vagrant: інструмент для розробки та тестування» - Станіслав Малкін  «Vagrant: інструмент для розробки та тестування» - Станіслав Малкін
«Vagrant: інструмент для розробки та тестування» - Станіслав Малкін
 
Cтандартизация рабочего окружения и автоматизация развертывания рабочей среды
Cтандартизация рабочего окружения и автоматизация развертывания рабочей средыCтандартизация рабочего окружения и автоматизация развертывания рабочей среды
Cтандартизация рабочего окружения и автоматизация развертывания рабочей среды
 
Виртуализация как инструмент разработчика
Виртуализация как инструмент разработчикаВиртуализация как инструмент разработчика
Виртуализация как инструмент разработчика
 
Виртуализация как инструмент разработчика
Виртуализация как инструмент разработчикаВиртуализация как инструмент разработчика
Виртуализация как инструмент разработчика
 
Андрей Михайлов. Vagrant. Быстрое развертывание среды
Андрей Михайлов. Vagrant. Быстрое развертывание средыАндрей Михайлов. Vagrant. Быстрое развертывание среды
Андрей Михайлов. Vagrant. Быстрое развертывание среды
 
Maven 3 : уличная магия
Maven 3 : уличная магияMaven 3 : уличная магия
Maven 3 : уличная магия
 
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качествеКак hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
 
Быстрое развертывание среды разработки c Vagrant
Быстрое развертывание среды разработки c VagrantБыстрое развертывание среды разработки c Vagrant
Быстрое развертывание среды разработки c Vagrant
 
Навигация в Android без боли и слез
Навигация в Android без боли и слезНавигация в Android без боли и слез
Навигация в Android без боли и слез
 
Антон Каляев — Быстрое развертывание среды с Vagrant
Антон Каляев — Быстрое развертывание среды с VagrantАнтон Каляев — Быстрое развертывание среды с Vagrant
Антон Каляев — Быстрое развертывание среды с Vagrant
 
Application deployment & configuration management
Application deployment & configuration managementApplication deployment & configuration management
Application deployment & configuration management
 
Обзор Continuous integration инструментов
Обзор Continuous integration инструментовОбзор Continuous integration инструментов
Обзор Continuous integration инструментов
 
Zero Downtime PHP Deployment with Envoyer And Forge
Zero Downtime PHP Deployment with Envoyer And ForgeZero Downtime PHP Deployment with Envoyer And Forge
Zero Downtime PHP Deployment with Envoyer And Forge
 
Тестирование мобильных приложений
Тестирование мобильных приложенийТестирование мобильных приложений
Тестирование мобильных приложений
 
Использование Open Source инструментов для автоматизации тестирования
Использование Open Source инструментов для автоматизации тестированияИспользование Open Source инструментов для автоматизации тестирования
Использование Open Source инструментов для автоматизации тестирования
 
CodeFest 2011. Высоцкий С. — Crawljax. Четвертый закон робототехники
CodeFest 2011. Высоцкий С. — Crawljax. Четвертый закон робототехникиCodeFest 2011. Высоцкий С. — Crawljax. Четвертый закон робототехники
CodeFest 2011. Высоцкий С. — Crawljax. Четвертый закон робототехники
 
Drupal code sprint для новичков
Drupal code sprint для новичковDrupal code sprint для новичков
Drupal code sprint для новичков
 
Apache maven in java projects
Apache maven in java projectsApache maven in java projects
Apache maven in java projects
 
Load testing of web applications
Load testing of web applicationsLoad testing of web applications
Load testing of web applications
 
Eugene Dmitrichenko - Load testing of web applications
Eugene Dmitrichenko - Load testing of web applicationsEugene Dmitrichenko - Load testing of web applications
Eugene Dmitrichenko - Load testing of web applications
 

Vagrant: tool for development and testing

  • 2. Проблема • Как легко переносить рабочее окружение разработчика на разные платформы не вводя ограничений? • Как разрабатывать командой и не слышать «у меня это не работает» ? • Как тестировать написанное приложение на разных системах? • Как не засорять рабочую машину разными версиями софта?
  • 3.
  • 4. Vagrant CLI Основные команды: $ vagrant init – инициализация $ vagrant up – запуск виртуального окружения $ vagrant suspend – переведение машины в слип-режим $ vagrant resume – восстановление из «сна» $ vagrant halt – выключение запущенной машины $ vagrant status – текущее состояние вагрант-окружения $ vagrant destroy – остановка и удаление всех файлов вагранта $ vagrant version – версия вагранта и проверка обновлений $ vagrant help – справка по доступным ключам
  • 5. Vagrantfile Является связующим звеном в вашем проекте, которое описывает как именно нужно запускать виртуальную машину и с какими настройками (сеть, бокс, провиженер)
  • 6. Провиженеры Провиженеры запускаются сразу после того, как виртуальная машина запущена и работает. Позволяют установить весь нужный софт для вашего проекта в автоматическом режиме. Провиженеры: – File – Shell – Ansible – Chef – Puppet – Docker – Salt
  • 7. На практике 1. Создаем Vagrantfile и кладем в корень проекта (базовый пример - https://github.com/stanma/vagrant/) :
  • 8. 2. Создаем bootstrap.sh и кладем в корень проекта: 3. Пишем vagrant up в консоли: 4. Заходим в виртуалку (vagrant ssh) и проверяем результат (vagrant – vagrant):
  • 9.
  • 10.