УПРАВЛЕНИЕ РАБОЧИМ             ОКРУЖЕНИЕМ С VAGRANT.                БЫСТРО И ПРОСТО                       SPB RUG Meetup 5...
ДЕРЯБИН                  АНДРЕЙ            @aderyabin     aderyabin@evilmartians.ruFriday, March 22, 13
Личный опытFriday, March 22, 13
КЛАВИАТУРА       или история о недопитом             кофе и сынеFriday, March 22, 13
TURBO PASCAL              или история о своей                    сборкеFriday, March 22, 13
PORTABLE                 или история одной                      флешкиFriday, March 22, 13
def default_adapter          MULTI_JSON                                  return :oj if defined?(::Oj)                      ...
BOLGENOS         или история о новой ОСFriday, March 22, 13
CONTINUOUS INTEGRATION    •   Самотестируемая сборка    •   Автоматизация сборки    •   Единый репозиторий    •   Быстрая ...
ВОПРОСЫFriday, March 22, 13
СКОЛЬКО ВРЕМЕНИ     НЕОБХОДИМО ДЛЯ     РАЗВЕРТЫВАНИЯ?Friday, March 22, 13
ИЗОЛИРОВАНО ЛИ     ОКРУЖЕНИЕ?Friday, March 22, 13
ВОЗМОЖНА ЛИ                       АВТОМАТИЗАЦИЯ?Friday, March 22, 13
МОЖЕТЕ ЛИ    ЭКСПЕРИМЕНТИРОВАТЬ?Friday, March 22, 13
РЕШЕНИЕ                       +        +Friday, March 22, 13
$ gem   install vagrant                       $ gem   install chef                       $ gem   install librarian        ...
УПРАВЛЕНИЕ       ОБРАЗАМИ      $ vagrant box list      $ vagrant box add {title} {url}      $ vagrant box remove {title}Fr...
Тут можно расслабиться   и пойти заварить кофеFriday, March 22, 13
ПЕРВАЯ          УСТАНОВКА                 $ vagrant init base                 $ vagrant upFriday, March 22, 13
ПЕРВАЯ          УСТАНОВКА                 $ vagrant init base                 $ vagrant upFriday, March 22, 13
СТРУКТУРАFriday, March 22, 13
ПОЛЕЗНЫЕ НАСТРОЙКИ                        Vagrant::Config.run do |config|                  Прокидываем ssh-ключи            ...
НАСТРАИВАЕМ CHEF-SOLO                             (VAGRANTFILE)                       Vagrant::Config.run do |config|       ...
НАСТРАИВАЕМ CHEF-SOLOFriday, March 22, 13
НАСТРАИВАЕМ CHEF-SOLO                                                (CHEFFILE)                       # encoding: utf-8   ...
ЗАПУСК                 $ librarian-chef install                 $ vagrant reloadFriday, March 22, 13
ПРОВЕРКА                 $ librarian-chef install                 $ vagrant reloadFriday, March 22, 13
ДОПОЛНЕНИЯ                       AWS support                       VMware support                       gem vewee         ...
ENGINE YARD         LOCALFriday, March 22, 13
EY LOCAL                       командыFriday, March 22, 13
СХЕМЫ РАБОТЫFriday, March 22, 13
ОДИН КО МНОГИМFriday, March 22, 13
ОДИН К ОДНОМУFriday, March 22, 13
ЧТО ПОЛУЧАЕМ?Friday, March 22, 13
ЧТО ПОЛУЧАЕМ?                       ✓   Быстрое развертывание на любой OС                       ✓   Отделение среды разраб...
СПАСИБО ЗА ВНИМАНИЕFriday, March 22, 13
СПИСОК ЛИТЕРАТУРЫ    •   http://www.martinfowler.com/articles/continuousIntegration.html    •   https://www.virtualbox.org...
ВОПРОСЫ?Friday, March 22, 13
Upcoming SlideShare
Loading in …5
×

Vagrant

1,080 views
957 views

Published on

Published in: Technology
1 Comment
6 Likes
Statistics
Notes
No Downloads
Views
Total views
1,080
On SlideShare
0
From Embeds
0
Number of Embeds
19
Actions
Shares
0
Downloads
16
Comments
1
Likes
6
Embeds 0
No embeds

No notes for slide

Vagrant

  1. 1. УПРАВЛЕНИЕ РАБОЧИМ ОКРУЖЕНИЕМ С VAGRANT. БЫСТРО И ПРОСТО SPB RUG Meetup 5Friday, March 22, 13
  2. 2. ДЕРЯБИН АНДРЕЙ @aderyabin aderyabin@evilmartians.ruFriday, March 22, 13
  3. 3. Личный опытFriday, March 22, 13
  4. 4. КЛАВИАТУРА или история о недопитом кофе и сынеFriday, March 22, 13
  5. 5. TURBO PASCAL или история о своей сборкеFriday, March 22, 13
  6. 6. PORTABLE или история одной флешкиFriday, March 22, 13
  7. 7. def default_adapter MULTI_JSON return :oj if defined?(::Oj) return :yajl if defined?(::Yajl) return :json_gem if defined?(::JSON) или история о потерянном return :gson if defined?(::Gson) времени // ... endFriday, March 22, 13
  8. 8. BOLGENOS или история о новой ОСFriday, March 22, 13
  9. 9. CONTINUOUS INTEGRATION • Самотестируемая сборка • Автоматизация сборки • Единый репозиторий • Быстрая сборка • Доступ до последней сборки • Каждое изменение в репозитории должно включаться в сборку на интеграционном сервере • Автоматическое развертывание • Производите тестирование в копии среды реальной эксплуатации • Простой доступ к файлам последней сборкиFriday, March 22, 13
  10. 10. ВОПРОСЫFriday, March 22, 13
  11. 11. СКОЛЬКО ВРЕМЕНИ НЕОБХОДИМО ДЛЯ РАЗВЕРТЫВАНИЯ?Friday, March 22, 13
  12. 12. ИЗОЛИРОВАНО ЛИ ОКРУЖЕНИЕ?Friday, March 22, 13
  13. 13. ВОЗМОЖНА ЛИ АВТОМАТИЗАЦИЯ?Friday, March 22, 13
  14. 14. МОЖЕТЕ ЛИ ЭКСПЕРИМЕНТИРОВАТЬ?Friday, March 22, 13
  15. 15. РЕШЕНИЕ + +Friday, March 22, 13
  16. 16. $ gem install vagrant $ gem install chef $ gem install librarian Бандлер для рецептовFriday, March 22, 13
  17. 17. УПРАВЛЕНИЕ ОБРАЗАМИ $ vagrant box list $ vagrant box add {title} {url} $ vagrant box remove {title}Friday, March 22, 13
  18. 18. Тут можно расслабиться и пойти заварить кофеFriday, March 22, 13
  19. 19. ПЕРВАЯ УСТАНОВКА $ vagrant init base $ vagrant upFriday, March 22, 13
  20. 20. ПЕРВАЯ УСТАНОВКА $ vagrant init base $ vagrant upFriday, March 22, 13
  21. 21. СТРУКТУРАFriday, March 22, 13
  22. 22. ПОЛЕЗНЫЕ НАСТРОЙКИ Vagrant::Config.run do |config| Прокидываем ssh-ключи config.vm.box = "debian" config.ssh.forward_agent = true config.vm.box_url = "http://f.willianfernandes.com.br/vagrant-boxes/ DebianSqueeze64.box" Путь до образа config.vm.forward_port 3001, 3001 config.vm.forward_port 4000, 4000 config.vm.forward_port 5432, 5432 config.vm.forward_port 4567, 4567 Прокидываем порты config.vm.share_folder "code", "/code", "~/code", :nfs => true end Прокидываем папкиFriday, March 22, 13
  23. 23. НАСТРАИВАЕМ CHEF-SOLO (VAGRANTFILE) Vagrant::Config.run do |config| config.vm.provision :chef_solo do |chef| chef.cookbooks_path = ["cookbooks"] chef.add_recipe "apt" chef.add_recipe ruby_build chef.add_recipe rbenv::user chef.add_recipe postgresql chef.json = { rbenv => { user_installs => [ { user => vagrant, rubies => [1.9.3-p392], global => 1.9.3-p392 } ] } } end endFriday, March 22, 13
  24. 24. НАСТРАИВАЕМ CHEF-SOLOFriday, March 22, 13
  25. 25. НАСТРАИВАЕМ CHEF-SOLO (CHEFFILE) # encoding: utf-8 site http://community.opscode.com/api/v1 cookbook apt cookbook rbenv, :git => git://github.com/fnichol/chef-rbenv.git cookbook ruby_build, :github => fnichol/chef-ruby_build, :ref => v0.7.2 cookbook postgresql, :guthub => express42-cookbooks/ postgresqlFriday, March 22, 13
  26. 26. ЗАПУСК $ librarian-chef install $ vagrant reloadFriday, March 22, 13
  27. 27. ПРОВЕРКА $ librarian-chef install $ vagrant reloadFriday, March 22, 13
  28. 28. ДОПОЛНЕНИЯ AWS support VMware support gem vewee gem vagrantboxesFriday, March 22, 13
  29. 29. ENGINE YARD LOCALFriday, March 22, 13
  30. 30. EY LOCAL командыFriday, March 22, 13
  31. 31. СХЕМЫ РАБОТЫFriday, March 22, 13
  32. 32. ОДИН КО МНОГИМFriday, March 22, 13
  33. 33. ОДИН К ОДНОМУFriday, March 22, 13
  34. 34. ЧТО ПОЛУЧАЕМ?Friday, March 22, 13
  35. 35. ЧТО ПОЛУЧАЕМ? ✓ Быстрое развертывание на любой OС ✓ Отделение среды разработки от привязки к ноутбуку ✓ Портабельность ✓ Прозрачность ✓ Быстрый доступ ✓ Плацдарм для экспериментов ✓ Новый опытFriday, March 22, 13
  36. 36. СПАСИБО ЗА ВНИМАНИЕFriday, March 22, 13
  37. 37. СПИСОК ЛИТЕРАТУРЫ • http://www.martinfowler.com/articles/continuousIntegration.html • https://www.virtualbox.org/ • http://virtualboxes.org/images/ • http://www.vagrantup.com/ • http://www.vagrantbox.es/ • https://www.engineyard.com/products/local • http://yieldthought.com/post/12239282034/swapped-my-macbook-for-an-ipadFriday, March 22, 13
  38. 38. ВОПРОСЫ?Friday, March 22, 13

×