SlideShare a Scribd company logo
1 of 22
Download to read offline
Express42// follow: @Express42_ru
Vagrant: плагины и
гастрономический фестиваль
Express42// follow: @Express42_ru
Vagrant и
Работа с проектом клиента
• Подготовка chef кукбуков специфичных для клиента
• Интеграция компонентов проекта между собой
• Доработка интеграций, кукбуков, и т.д.
Разработка своих кукбуков
• Разработка кукбуков для различных сервисов
• Тестирование кукбуков
Express42// follow: @Express42_ru
Vagrant и
!
• Не лепить костыли (по возможности)
• Быстрый vagrant provision
• Работать в полевых условиях
• Интеграция с разными окружениям
Express42// follow: @Express42_ru
vagrant-cachier
• Пришел на смену vagrant-apt_cache
• Кеширует deb/gem/… в пределах box или machine
• Вам нужен будет хоть какой-то интернет
https://github.com/fgrehm/vagrant-cachier
Express42// follow: @Express42_ru
nugrant
• Параметризация Vagrantfile с помощью yaml
• Удобно для распространения Vagrantfile
https://github.com/maoueh/nugrant
Express42// follow: @Express42_ru
nugrant
...!
config.vm.define config.user.vmname do |main|!
! main.vm.network :forwarded_port, guest: 80, host: 8080!
! main.vm.hostname = config.user.vmname!
! config.vm.provision :chef_solo do |chef|!
! ! chef.encrypted_data_bag_secret_key_path = config.user.encrypted_secret_key_path!
! end!
end!
...
cat ./.vagrantuser!
vmname: "web01"!
encrypted_secret_key_path: "<some_path>/encrypted_data_bag_secret"
Express42// follow: @Express42_ru
landrush
• Автоматически настраиваемый dns сервер
• Добавляет пару hostname – IP машины в заданный
вами поддомен
• Больше не надо править /etc/hosts
• Работает как для хоста(в MAC OS из коробки) так
и для гостевых машин
https://github.com/phinze/landrush
Express42// follow: @Express42_ru
landrush
Vagrant.configure("2") do |config|!
...!
config.landrush.enable!
config.landrush.tld = 'vagrant'!
!
config.vm.define :web01 do |main|!
main.vm.network :forwarded_port, guest: 80, host: 8080!
main.vm.hostname = "web01.vagrant"!
end!
end!
ping web01.vagrant!
PING web01.vagrant (172.28.128.5): 56 data bytes!
64 bytes from 172.28.128.5: icmp_seq=0 ttl=64 time=0.292 ms
ping deploy.web01.vagrant!
PING deploy.web01.vagrant (172.28.128.5): 56 data bytes!
64 bytes from 172.28.128.5: icmp_seq=0 ttl=64 time=0.292 ms
Express42// follow: @Express42_ru
Плагины на каждый день
• vagrant-auto_network
• vagrant-libvirt
• vagrant-persistent-storage
• vagrant-parallels ;)
Жизнь удалась?
Express42// follow: @Express42_ru
• Показать возникшую ошибку
• Дать разработчику возможность сделать ресерч
• Показать что-то с локальной машины
Как обычно решают
• Скриншоты (от двух до пяти)
• ssh -R; nc -p 2222 ; … ; и настроить ваш роутер!
Проблема
Show me your
kitchen!
Express42// follow: @Express42_ru
• Показать ошибки/баги/…
• Тестировать коллбеки
внешних систем
• Показать прототип новой
фичи
• Попросить помощи
VAGRANT-FOODSHOW
Express42// follow: @Express42_ru
VAGRANT-FOODSHOW
• Вся конфигурация в Vagrantfile
• Работает только тогда, когда запущена VM
• Использует ngrok для туннелирования
http://foodshow.io
https://github.com/express42/vagrant-foodshow
Express42// follow: @Express42_ru
NGROK
Express42// follow: @Express42_ru
NGROK
•Туннелирование HTTP/S с интроспекцией запросов
•Туннелирование любого бинарного протокола
•Резервирование адресов вида <domain>.ngrok.com
•basic-auth для http/s протокола
•Opensource! Go(lang) inside!
https://github.com/inconshreveable/ngrok
Express42// follow: @Express42_ru
VAGRANT-FOODSHOW
Пример конфигурации
Vagrant.configure("2") do |config|!
#Enable foodshow!
config.foodshow.enabled = true!
...!
# Define vm!
config.vm.define :web01 do |conf|!
...!
#Just add ngrok_proto parameter to your port forwarding entry!
conf.vm.network :forwarded_port, guest: 80, host: 8080, ngrok_proto: "http+https"!
...!
end!
end!
Express42// follow: @Express42_ru
VAGRANT-FOODSHOW
Express42// follow: @Express42_ru
Интроспекция запросов
Express42// follow: @Express42_ru
• Вышел Vagrant 1.5
• Встроенный плагин Vagrant Share
• Облако для распространения box
VAGRANT CLOUD
Express42// follow: @Express42_ru
Конец.
twitter: @ex_sample
email: sample.n@gmail.com

More Related Content

What's hot

Gevent для эмуляции нагрузки
Gevent для эмуляции нагрузкиGevent для эмуляции нагрузки
Gevent для эмуляции нагрузкиm0use
 
Cтандартизация рабочего окружения и автоматизация развертывания рабочей среды
Cтандартизация рабочего окружения и автоматизация развертывания рабочей средыCтандартизация рабочего окружения и автоматизация развертывания рабочей среды
Cтандартизация рабочего окружения и автоматизация развертывания рабочей средыWordCamp Kyiv
 
Building deployment pipeline - DevOps way
Building deployment pipeline - DevOps wayBuilding deployment pipeline - DevOps way
Building deployment pipeline - DevOps wayAndrey Rebrov
 
Быстрое развертывание среды разработки c Vagrant
Быстрое развертывание среды разработки c VagrantБыстрое развертывание среды разработки c Vagrant
Быстрое развертывание среды разработки c VagrantOlga Lavrentieva
 
Артём Ерошенко «Рецепт приготовления облачных тестингов»
Артём Ерошенко «Рецепт приготовления облачных тестингов»Артём Ерошенко «Рецепт приготовления облачных тестингов»
Артём Ерошенко «Рецепт приготовления облачных тестингов»WrikeTechClub
 
Алексей Фомкин, Практическое применение Web Workers
Алексей Фомкин, Практическое применение Web WorkersАлексей Фомкин, Практическое применение Web Workers
Алексей Фомкин, Практическое применение Web WorkersAleksey Fomkin
 
My talk on Docker from Moscow Django Meetup #25
My talk on Docker from Moscow Django Meetup #25My talk on Docker from Moscow Django Meetup #25
My talk on Docker from Moscow Django Meetup #25Alex Chistyakov
 
AnyEvent::HTTPBenchmark
AnyEvent::HTTPBenchmarkAnyEvent::HTTPBenchmark
AnyEvent::HTTPBenchmarkNaim Shafiev
 
Мобильность на Колёсах: об инструментах и полезных вещах
Мобильность на Колёсах: об инструментах и полезных вещахМобильность на Колёсах: об инструментах и полезных вещах
Мобильность на Колёсах: об инструментах и полезных вещахITCrowd Almaty
 
Внедрение Docker в процесс разработки демонов. Доклад Константина Карпова на ...
Внедрение Docker в процесс разработки демонов. Доклад Константина Карпова на ...Внедрение Docker в процесс разработки демонов. Доклад Константина Карпова на ...
Внедрение Docker в процесс разработки демонов. Доклад Константина Карпова на ...Badoo Development
 
Java/Scala Lab: Юрий Литвиненко - Living in Heroku
Java/Scala Lab: Юрий Литвиненко - Living in Heroku Java/Scala Lab: Юрий Литвиненко - Living in Heroku
Java/Scala Lab: Юрий Литвиненко - Living in Heroku GeeksLab Odessa
 
Подходы и технологии, используемые в разработке iOS-клиента Viber, Кирилл Лаш...
Подходы и технологии, используемые в разработке iOS-клиента Viber, Кирилл Лаш...Подходы и технологии, используемые в разработке iOS-клиента Viber, Кирилл Лаш...
Подходы и технологии, используемые в разработке iOS-клиента Viber, Кирилл Лаш...Yandex
 
Облако в Badoo год спустя
Облако в Badoo год спустяОблако в Badoo год спустя
Облако в Badoo год спустяYuriy Nasretdinov
 
My talk on Salt and Ansible from DevConf 2014
My talk on Salt and Ansible from DevConf 2014My talk on Salt and Ansible from DevConf 2014
My talk on Salt and Ansible from DevConf 2014Alex Chistyakov
 
Автоматизация нагрузочного тестирования — Григорий Липин
Автоматизация нагрузочного тестирования — Григорий ЛипинАвтоматизация нагрузочного тестирования — Григорий Липин
Автоматизация нагрузочного тестирования — Григорий ЛипинYandex
 
My talk on Hadoop stack operations engineering at OSPCon
My talk on Hadoop stack operations engineering at OSPConMy talk on Hadoop stack operations engineering at OSPCon
My talk on Hadoop stack operations engineering at OSPConAlex Chistyakov
 

What's hot (18)

Gevent для эмуляции нагрузки
Gevent для эмуляции нагрузкиGevent для эмуляции нагрузки
Gevent для эмуляции нагрузки
 
Docker
DockerDocker
Docker
 
Cтандартизация рабочего окружения и автоматизация развертывания рабочей среды
Cтандартизация рабочего окружения и автоматизация развертывания рабочей средыCтандартизация рабочего окружения и автоматизация развертывания рабочей среды
Cтандартизация рабочего окружения и автоматизация развертывания рабочей среды
 
Building deployment pipeline - DevOps way
Building deployment pipeline - DevOps wayBuilding deployment pipeline - DevOps way
Building deployment pipeline - DevOps way
 
Быстрое развертывание среды разработки c Vagrant
Быстрое развертывание среды разработки c VagrantБыстрое развертывание среды разработки c Vagrant
Быстрое развертывание среды разработки c Vagrant
 
Артём Ерошенко «Рецепт приготовления облачных тестингов»
Артём Ерошенко «Рецепт приготовления облачных тестингов»Артём Ерошенко «Рецепт приготовления облачных тестингов»
Артём Ерошенко «Рецепт приготовления облачных тестингов»
 
Cpanm
CpanmCpanm
Cpanm
 
Алексей Фомкин, Практическое применение Web Workers
Алексей Фомкин, Практическое применение Web WorkersАлексей Фомкин, Практическое применение Web Workers
Алексей Фомкин, Практическое применение Web Workers
 
My talk on Docker from Moscow Django Meetup #25
My talk on Docker from Moscow Django Meetup #25My talk on Docker from Moscow Django Meetup #25
My talk on Docker from Moscow Django Meetup #25
 
AnyEvent::HTTPBenchmark
AnyEvent::HTTPBenchmarkAnyEvent::HTTPBenchmark
AnyEvent::HTTPBenchmark
 
Мобильность на Колёсах: об инструментах и полезных вещах
Мобильность на Колёсах: об инструментах и полезных вещахМобильность на Колёсах: об инструментах и полезных вещах
Мобильность на Колёсах: об инструментах и полезных вещах
 
Внедрение Docker в процесс разработки демонов. Доклад Константина Карпова на ...
Внедрение Docker в процесс разработки демонов. Доклад Константина Карпова на ...Внедрение Docker в процесс разработки демонов. Доклад Константина Карпова на ...
Внедрение Docker в процесс разработки демонов. Доклад Константина Карпова на ...
 
Java/Scala Lab: Юрий Литвиненко - Living in Heroku
Java/Scala Lab: Юрий Литвиненко - Living in Heroku Java/Scala Lab: Юрий Литвиненко - Living in Heroku
Java/Scala Lab: Юрий Литвиненко - Living in Heroku
 
Подходы и технологии, используемые в разработке iOS-клиента Viber, Кирилл Лаш...
Подходы и технологии, используемые в разработке iOS-клиента Viber, Кирилл Лаш...Подходы и технологии, используемые в разработке iOS-клиента Viber, Кирилл Лаш...
Подходы и технологии, используемые в разработке iOS-клиента Viber, Кирилл Лаш...
 
Облако в Badoo год спустя
Облако в Badoo год спустяОблако в Badoo год спустя
Облако в Badoo год спустя
 
My talk on Salt and Ansible from DevConf 2014
My talk on Salt and Ansible from DevConf 2014My talk on Salt and Ansible from DevConf 2014
My talk on Salt and Ansible from DevConf 2014
 
Автоматизация нагрузочного тестирования — Григорий Липин
Автоматизация нагрузочного тестирования — Григорий ЛипинАвтоматизация нагрузочного тестирования — Григорий Липин
Автоматизация нагрузочного тестирования — Григорий Липин
 
My talk on Hadoop stack operations engineering at OSPCon
My talk on Hadoop stack operations engineering at OSPConMy talk on Hadoop stack operations engineering at OSPCon
My talk on Hadoop stack operations engineering at OSPCon
 

Viewers also liked

Истинный DevOps. Секрет 42.
Истинный DevOps. Секрет 42.Истинный DevOps. Секрет 42.
Истинный DevOps. Секрет 42.Nikita Borzykh
 
My talk on HBase ops engineering at TBD Jun 2016
My talk on HBase ops engineering at TBD Jun 2016My talk on HBase ops engineering at TBD Jun 2016
My talk on HBase ops engineering at TBD Jun 2016Alex Chistyakov
 
My talk on Piter Py 2016
My talk on Piter Py 2016My talk on Piter Py 2016
My talk on Piter Py 2016Alex Chistyakov
 
My talk from PgConf.Russia 2016
My talk from PgConf.Russia 2016My talk from PgConf.Russia 2016
My talk from PgConf.Russia 2016Alex Chistyakov
 
Развитие DevOps/NoOps инструментов. Что было, что есть, что будет.
Развитие DevOps/NoOps инструментов.  Что было, что есть, что будет.Развитие DevOps/NoOps инструментов.  Что было, что есть, что будет.
Развитие DevOps/NoOps инструментов. Что было, что есть, что будет.Ivan Evtukhovich
 
My talk on monitoring systems at RootConf 2016
My talk on monitoring systems at RootConf 2016My talk on monitoring systems at RootConf 2016
My talk on monitoring systems at RootConf 2016Alex Chistyakov
 
My talk at Linux Piter 2016
My talk at Linux Piter 2016My talk at Linux Piter 2016
My talk at Linux Piter 2016Alex Chistyakov
 
Service Discovery using etcd, Consul and Kubernetes
Service Discovery using etcd, Consul and KubernetesService Discovery using etcd, Consul and Kubernetes
Service Discovery using etcd, Consul and KubernetesSreenivas Makam
 

Viewers also liked (10)

Cobbler
CobblerCobbler
Cobbler
 
Истинный DevOps. Секрет 42.
Истинный DevOps. Секрет 42.Истинный DevOps. Секрет 42.
Истинный DevOps. Секрет 42.
 
My talk on HBase ops engineering at TBD Jun 2016
My talk on HBase ops engineering at TBD Jun 2016My talk on HBase ops engineering at TBD Jun 2016
My talk on HBase ops engineering at TBD Jun 2016
 
My talk on Piter Py 2016
My talk on Piter Py 2016My talk on Piter Py 2016
My talk on Piter Py 2016
 
My talk from PgConf.Russia 2016
My talk from PgConf.Russia 2016My talk from PgConf.Russia 2016
My talk from PgConf.Russia 2016
 
DC/OS more than PAAS
DC/OS more than PAASDC/OS more than PAAS
DC/OS more than PAAS
 
Развитие DevOps/NoOps инструментов. Что было, что есть, что будет.
Развитие DevOps/NoOps инструментов.  Что было, что есть, что будет.Развитие DevOps/NoOps инструментов.  Что было, что есть, что будет.
Развитие DevOps/NoOps инструментов. Что было, что есть, что будет.
 
My talk on monitoring systems at RootConf 2016
My talk on monitoring systems at RootConf 2016My talk on monitoring systems at RootConf 2016
My talk on monitoring systems at RootConf 2016
 
My talk at Linux Piter 2016
My talk at Linux Piter 2016My talk at Linux Piter 2016
My talk at Linux Piter 2016
 
Service Discovery using etcd, Consul and Kubernetes
Service Discovery using etcd, Consul and KubernetesService Discovery using etcd, Consul and Kubernetes
Service Discovery using etcd, Consul and Kubernetes
 

Similar to Vagrant: плагины и гастрономический фестиваль

Виртуализация как инструмент разработчика
Виртуализация как инструмент разработчикаВиртуализация как инструмент разработчика
Виртуализация как инструмент разработчикаOpen-IT
 
Как Vagrant и Chef ускорили разработку в несколько раз / Тимур Батыршин (Cina...
Как Vagrant и Chef ускорили разработку в несколько раз / Тимур Батыршин (Cina...Как Vagrant и Chef ускорили разработку в несколько раз / Тимур Батыршин (Cina...
Как Vagrant и Chef ускорили разработку в несколько раз / Тимур Батыршин (Cina...Ontico
 
D2D Pizza JS Илья Беда "Куда мы все катимся?"
D2D Pizza JS Илья Беда "Куда мы все катимся?"D2D Pizza JS Илья Беда "Куда мы все катимся?"
D2D Pizza JS Илья Беда "Куда мы все катимся?"Dev2Dev
 
Как мы собираем проекты в выделенном окружении в Windows Docker
Как мы собираем проекты в выделенном окружении в Windows DockerКак мы собираем проекты в выделенном окружении в Windows Docker
Как мы собираем проекты в выделенном окружении в Windows DockerPositive Hack Days
 
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
 
Docker в работе: взгляд на использование в Badoo через год
Docker в работе: взгляд на использование в Badoo через годDocker в работе: взгляд на использование в Badoo через год
Docker в работе: взгляд на использование в Badoo через годAnton Turetsky
 
Docker в работе: взгляд на использование в Badoo через год
Docker в работе: взгляд на использование в Badoo через годDocker в работе: взгляд на использование в Badoo через год
Docker в работе: взгляд на использование в Badoo через годBadoo Development
 
Docker в работе: взгляд на его использование в Badoo через год / Турецкий Ант...
Docker в работе: взгляд на его использование в Badoo через год / Турецкий Ант...Docker в работе: взгляд на его использование в Badoo через год / Турецкий Ант...
Docker в работе: взгляд на его использование в Badoo через год / Турецкий Ант...Ontico
 
CodeFest 2012. Титов А. — Инженерный дзен. Непрерывные изменения
CodeFest 2012. Титов А. — Инженерный дзен. Непрерывные измененияCodeFest 2012. Титов А. — Инженерный дзен. Непрерывные изменения
CodeFest 2012. Титов А. — Инженерный дзен. Непрерывные измененияCodeFest
 
Практика разработки веб-серверов на Rust
Практика разработки веб-серверов на RustПрактика разработки веб-серверов на Rust
Практика разработки веб-серверов на RustMichael Pankov
 
Инженерный дзен. Непрерывные изменения (Александр Титов)
Инженерный дзен. Непрерывные изменения (Александр Титов)Инженерный дзен. Непрерывные изменения (Александр Титов)
Инженерный дзен. Непрерывные изменения (Александр Титов)Ontico
 
"Девопс - это не только для программистов. Практические примеры из жизни одно...
"Девопс - это не только для программистов. Практические примеры из жизни одно..."Девопс - это не только для программистов. Практические примеры из жизни одно...
"Девопс - это не только для программистов. Практические примеры из жизни одно...it-people
 
Кирилл Комлев. О реализации continuous integration для web проектов
Кирилл Комлев. О реализации continuous integration для web проектовКирилл Комлев. О реализации continuous integration для web проектов
Кирилл Комлев. О реализации continuous integration для web проектовOlesya_V
 
Баба-Яга против! — Роман Дворнов, Ostrovok.ru
Баба-Яга против! — Роман Дворнов, Ostrovok.ruБаба-Яга против! — Роман Дворнов, Ostrovok.ru
Баба-Яга против! — Роман Дворнов, Ostrovok.ruYandex
 
Drupal code sprint для новичков
Drupal code sprint для новичковDrupal code sprint для новичков
Drupal code sprint для новичковOvadiah Myrgorod
 
Баба Яга против!
Баба Яга против!Баба Яга против!
Баба Яга против!Roman Dvornov
 
Владимир Алаев "Разработка на Node.js: инструменты, библиотеки, сервисы"
Владимир Алаев "Разработка на Node.js: инструменты, библиотеки, сервисы"Владимир Алаев "Разработка на Node.js: инструменты, библиотеки, сервисы"
Владимир Алаев "Разработка на Node.js: инструменты, библиотеки, сервисы"Yandex
 
MockServer-driven development
MockServer-driven developmentMockServer-driven development
MockServer-driven developmentTestableapple
 
Perl, и с чем его едят. Доклад нашего Главного Инженера (ГИ) Александра Чистя...
Perl, и с чем его едят. Доклад нашего Главного Инженера (ГИ) Александра Чистя...Perl, и с чем его едят. Доклад нашего Главного Инженера (ГИ) Александра Чистя...
Perl, и с чем его едят. Доклад нашего Главного Инженера (ГИ) Александра Чистя...Serguei Gitinsky
 

Similar to Vagrant: плагины и гастрономический фестиваль (20)

Виртуализация как инструмент разработчика
Виртуализация как инструмент разработчикаВиртуализация как инструмент разработчика
Виртуализация как инструмент разработчика
 
Как Vagrant и Chef ускорили разработку в несколько раз / Тимур Батыршин (Cina...
Как Vagrant и Chef ускорили разработку в несколько раз / Тимур Батыршин (Cina...Как Vagrant и Chef ускорили разработку в несколько раз / Тимур Батыршин (Cina...
Как Vagrant и Chef ускорили разработку в несколько раз / Тимур Батыршин (Cina...
 
Little Service in 2h
Little Service in 2hLittle Service in 2h
Little Service in 2h
 
D2D Pizza JS Илья Беда "Куда мы все катимся?"
D2D Pizza JS Илья Беда "Куда мы все катимся?"D2D Pizza JS Илья Беда "Куда мы все катимся?"
D2D Pizza JS Илья Беда "Куда мы все катимся?"
 
Как мы собираем проекты в выделенном окружении в Windows Docker
Как мы собираем проекты в выделенном окружении в Windows DockerКак мы собираем проекты в выделенном окружении в Windows Docker
Как мы собираем проекты в выделенном окружении в Windows Docker
 
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
 
Docker в работе: взгляд на использование в Badoo через год
Docker в работе: взгляд на использование в Badoo через годDocker в работе: взгляд на использование в Badoo через год
Docker в работе: взгляд на использование в Badoo через год
 
Docker в работе: взгляд на использование в Badoo через год
Docker в работе: взгляд на использование в Badoo через годDocker в работе: взгляд на использование в Badoo через год
Docker в работе: взгляд на использование в Badoo через год
 
Docker в работе: взгляд на его использование в Badoo через год / Турецкий Ант...
Docker в работе: взгляд на его использование в Badoo через год / Турецкий Ант...Docker в работе: взгляд на его использование в Badoo через год / Турецкий Ант...
Docker в работе: взгляд на его использование в Badoo через год / Турецкий Ант...
 
CodeFest 2012. Титов А. — Инженерный дзен. Непрерывные изменения
CodeFest 2012. Титов А. — Инженерный дзен. Непрерывные измененияCodeFest 2012. Титов А. — Инженерный дзен. Непрерывные изменения
CodeFest 2012. Титов А. — Инженерный дзен. Непрерывные изменения
 
Практика разработки веб-серверов на Rust
Практика разработки веб-серверов на RustПрактика разработки веб-серверов на Rust
Практика разработки веб-серверов на Rust
 
Инженерный дзен. Непрерывные изменения (Александр Титов)
Инженерный дзен. Непрерывные изменения (Александр Титов)Инженерный дзен. Непрерывные изменения (Александр Титов)
Инженерный дзен. Непрерывные изменения (Александр Титов)
 
"Девопс - это не только для программистов. Практические примеры из жизни одно...
"Девопс - это не только для программистов. Практические примеры из жизни одно..."Девопс - это не только для программистов. Практические примеры из жизни одно...
"Девопс - это не только для программистов. Практические примеры из жизни одно...
 
Кирилл Комлев. О реализации continuous integration для web проектов
Кирилл Комлев. О реализации continuous integration для web проектовКирилл Комлев. О реализации continuous integration для web проектов
Кирилл Комлев. О реализации continuous integration для web проектов
 
Баба-Яга против! — Роман Дворнов, Ostrovok.ru
Баба-Яга против! — Роман Дворнов, Ostrovok.ruБаба-Яга против! — Роман Дворнов, Ostrovok.ru
Баба-Яга против! — Роман Дворнов, Ostrovok.ru
 
Drupal code sprint для новичков
Drupal code sprint для новичковDrupal code sprint для новичков
Drupal code sprint для новичков
 
Баба Яга против!
Баба Яга против!Баба Яга против!
Баба Яга против!
 
Владимир Алаев "Разработка на Node.js: инструменты, библиотеки, сервисы"
Владимир Алаев "Разработка на Node.js: инструменты, библиотеки, сервисы"Владимир Алаев "Разработка на Node.js: инструменты, библиотеки, сервисы"
Владимир Алаев "Разработка на Node.js: инструменты, библиотеки, сервисы"
 
MockServer-driven development
MockServer-driven developmentMockServer-driven development
MockServer-driven development
 
Perl, и с чем его едят. Доклад нашего Главного Инженера (ГИ) Александра Чистя...
Perl, и с чем его едят. Доклад нашего Главного Инженера (ГИ) Александра Чистя...Perl, и с чем его едят. Доклад нашего Главного Инженера (ГИ) Александра Чистя...
Perl, и с чем его едят. Доклад нашего Главного Инженера (ГИ) Александра Чистя...
 

Vagrant: плагины и гастрономический фестиваль

  • 1. Express42// follow: @Express42_ru Vagrant: плагины и гастрономический фестиваль
  • 2. Express42// follow: @Express42_ru Vagrant и Работа с проектом клиента • Подготовка chef кукбуков специфичных для клиента • Интеграция компонентов проекта между собой • Доработка интеграций, кукбуков, и т.д. Разработка своих кукбуков • Разработка кукбуков для различных сервисов • Тестирование кукбуков
  • 3. Express42// follow: @Express42_ru Vagrant и ! • Не лепить костыли (по возможности) • Быстрый vagrant provision • Работать в полевых условиях • Интеграция с разными окружениям
  • 4. Express42// follow: @Express42_ru vagrant-cachier • Пришел на смену vagrant-apt_cache • Кеширует deb/gem/… в пределах box или machine • Вам нужен будет хоть какой-то интернет https://github.com/fgrehm/vagrant-cachier
  • 5. Express42// follow: @Express42_ru nugrant • Параметризация Vagrantfile с помощью yaml • Удобно для распространения Vagrantfile https://github.com/maoueh/nugrant
  • 6. Express42// follow: @Express42_ru nugrant ...! config.vm.define config.user.vmname do |main|! ! main.vm.network :forwarded_port, guest: 80, host: 8080! ! main.vm.hostname = config.user.vmname! ! config.vm.provision :chef_solo do |chef|! ! ! chef.encrypted_data_bag_secret_key_path = config.user.encrypted_secret_key_path! ! end! end! ... cat ./.vagrantuser! vmname: "web01"! encrypted_secret_key_path: "<some_path>/encrypted_data_bag_secret"
  • 7. Express42// follow: @Express42_ru landrush • Автоматически настраиваемый dns сервер • Добавляет пару hostname – IP машины в заданный вами поддомен • Больше не надо править /etc/hosts • Работает как для хоста(в MAC OS из коробки) так и для гостевых машин https://github.com/phinze/landrush
  • 8. Express42// follow: @Express42_ru landrush Vagrant.configure("2") do |config|! ...! config.landrush.enable! config.landrush.tld = 'vagrant'! ! config.vm.define :web01 do |main|! main.vm.network :forwarded_port, guest: 80, host: 8080! main.vm.hostname = "web01.vagrant"! end! end! ping web01.vagrant! PING web01.vagrant (172.28.128.5): 56 data bytes! 64 bytes from 172.28.128.5: icmp_seq=0 ttl=64 time=0.292 ms ping deploy.web01.vagrant! PING deploy.web01.vagrant (172.28.128.5): 56 data bytes! 64 bytes from 172.28.128.5: icmp_seq=0 ttl=64 time=0.292 ms
  • 9. Express42// follow: @Express42_ru Плагины на каждый день • vagrant-auto_network • vagrant-libvirt • vagrant-persistent-storage • vagrant-parallels ;)
  • 11.
  • 12. Express42// follow: @Express42_ru • Показать возникшую ошибку • Дать разработчику возможность сделать ресерч • Показать что-то с локальной машины Как обычно решают • Скриншоты (от двух до пяти) • ssh -R; nc -p 2222 ; … ; и настроить ваш роутер! Проблема
  • 14. Express42// follow: @Express42_ru • Показать ошибки/баги/… • Тестировать коллбеки внешних систем • Показать прототип новой фичи • Попросить помощи VAGRANT-FOODSHOW
  • 15. Express42// follow: @Express42_ru VAGRANT-FOODSHOW • Вся конфигурация в Vagrantfile • Работает только тогда, когда запущена VM • Использует ngrok для туннелирования http://foodshow.io https://github.com/express42/vagrant-foodshow
  • 17. Express42// follow: @Express42_ru NGROK •Туннелирование HTTP/S с интроспекцией запросов •Туннелирование любого бинарного протокола •Резервирование адресов вида <domain>.ngrok.com •basic-auth для http/s протокола •Opensource! Go(lang) inside! https://github.com/inconshreveable/ngrok
  • 18. Express42// follow: @Express42_ru VAGRANT-FOODSHOW Пример конфигурации Vagrant.configure("2") do |config|! #Enable foodshow! config.foodshow.enabled = true! ...! # Define vm! config.vm.define :web01 do |conf|! ...! #Just add ngrok_proto parameter to your port forwarding entry! conf.vm.network :forwarded_port, guest: 80, host: 8080, ngrok_proto: "http+https"! ...! end! end!
  • 21. Express42// follow: @Express42_ru • Вышел Vagrant 1.5 • Встроенный плагин Vagrant Share • Облако для распространения box VAGRANT CLOUD
  • 22. Express42// follow: @Express42_ru Конец. twitter: @ex_sample email: sample.n@gmail.com