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 ...
Express42// follow: @Express42_ru
nugrant
• Параметризация Vagrantfile с помощью yaml
• Удобно для распространения Vagrantfi...
Express42// follow: @Express42_ru
nugrant
...!
config.vm.define config.user.vmname do |main|!
! main.vm.network :forwarded...
Express42// follow: @Express42_ru
landrush
• Автоматически настраиваемый dns сервер
• Добавляет пару hostname – IP машины ...
Express42// follow: @Express42_ru
landrush
Vagrant.configure("2") do |config|!
...!
config.landrush.enable!
config.landrus...
Express42// follow: @Express42_ru
Плагины на каждый день
• vagrant-auto_network
• vagrant-libvirt
• vagrant-persistent-sto...
Жизнь удалась?
Express42// follow: @Express42_ru
• Показать возникшую ошибку
• Дать разработчику возможность сделать ресерч
• Показать чт...
Show me your
kitchen!
Express42// follow: @Express42_ru
• Показать ошибки/баги/…
• Тестировать коллбеки
внешних систем
• Показать прототип новой...
Express42// follow: @Express42_ru
VAGRANT-FOODSHOW
• Вся конфигурация в Vagrantfile
• Работает только тогда, когда запущена...
Express42// follow: @Express42_ru
NGROK
Express42// follow: @Express42_ru
NGROK
•Туннелирование HTTP/S с интроспекцией запросов
•Туннелирование любого бинарного п...
Express42// follow: @Express42_ru
VAGRANT-FOODSHOW
Пример конфигурации
Vagrant.configure("2") do |config|!
#Enable foodsho...
Express42// follow: @Express42_ru
VAGRANT-FOODSHOW
Express42// follow: @Express42_ru
Интроспекция запросов
Express42// follow: @Express42_ru
• Вышел Vagrant 1.5
• Встроенный плагин Vagrant Share
• Облако для распространения box
V...
Express42// follow: @Express42_ru
Конец.
twitter: @ex_sample
email: sample.n@gmail.com
Vagrant: плагины и гастрономический фестиваль
Upcoming SlideShare
Loading in …5
×

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

758 views
679 views

Published on

Published in: Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
758
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
6
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

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

  1. 1. Express42// follow: @Express42_ru Vagrant: плагины и гастрономический фестиваль
  2. 2. Express42// follow: @Express42_ru Vagrant и Работа с проектом клиента • Подготовка chef кукбуков специфичных для клиента • Интеграция компонентов проекта между собой • Доработка интеграций, кукбуков, и т.д. Разработка своих кукбуков • Разработка кукбуков для различных сервисов • Тестирование кукбуков
  3. 3. Express42// follow: @Express42_ru Vagrant и ! • Не лепить костыли (по возможности) • Быстрый vagrant provision • Работать в полевых условиях • Интеграция с разными окружениям
  4. 4. Express42// follow: @Express42_ru vagrant-cachier • Пришел на смену vagrant-apt_cache • Кеширует deb/gem/… в пределах box или machine • Вам нужен будет хоть какой-то интернет https://github.com/fgrehm/vagrant-cachier
  5. 5. Express42// follow: @Express42_ru nugrant • Параметризация Vagrantfile с помощью yaml • Удобно для распространения Vagrantfile https://github.com/maoueh/nugrant
  6. 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. 7. Express42// follow: @Express42_ru landrush • Автоматически настраиваемый dns сервер • Добавляет пару hostname – IP машины в заданный вами поддомен • Больше не надо править /etc/hosts • Работает как для хоста(в MAC OS из коробки) так и для гостевых машин https://github.com/phinze/landrush
  8. 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. 9. Express42// follow: @Express42_ru Плагины на каждый день • vagrant-auto_network • vagrant-libvirt • vagrant-persistent-storage • vagrant-parallels ;)
  10. 10. Жизнь удалась?
  11. 11. Express42// follow: @Express42_ru • Показать возникшую ошибку • Дать разработчику возможность сделать ресерч • Показать что-то с локальной машины Как обычно решают • Скриншоты (от двух до пяти) • ssh -R; nc -p 2222 ; … ; и настроить ваш роутер! Проблема
  12. 12. Show me your kitchen!
  13. 13. Express42// follow: @Express42_ru • Показать ошибки/баги/… • Тестировать коллбеки внешних систем • Показать прототип новой фичи • Попросить помощи VAGRANT-FOODSHOW
  14. 14. Express42// follow: @Express42_ru VAGRANT-FOODSHOW • Вся конфигурация в Vagrantfile • Работает только тогда, когда запущена VM • Использует ngrok для туннелирования http://foodshow.io https://github.com/express42/vagrant-foodshow
  15. 15. Express42// follow: @Express42_ru NGROK
  16. 16. Express42// follow: @Express42_ru NGROK •Туннелирование HTTP/S с интроспекцией запросов •Туннелирование любого бинарного протокола •Резервирование адресов вида <domain>.ngrok.com •basic-auth для http/s протокола •Opensource! Go(lang) inside! https://github.com/inconshreveable/ngrok
  17. 17. 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!
  18. 18. Express42// follow: @Express42_ru VAGRANT-FOODSHOW
  19. 19. Express42// follow: @Express42_ru Интроспекция запросов
  20. 20. Express42// follow: @Express42_ru • Вышел Vagrant 1.5 • Встроенный плагин Vagrant Share • Облако для распространения box VAGRANT CLOUD
  21. 21. Express42// follow: @Express42_ru Конец. twitter: @ex_sample email: sample.n@gmail.com

×