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