Your SlideShare is downloading. ×
Vagrant Stanford DrupalCamp 2014
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply

Vagrant Stanford DrupalCamp 2014

562
views

Published on

Development of real life projects on multiple platforms can be very very painful. In our teams we have people who work on MacOS, Linux, Windows and setting up environments for different projects is …

Development of real life projects on multiple platforms can be very very painful. In our teams we have people who work on MacOS, Linux, Windows and setting up environments for different projects is not easy thing to do. Specially when everyone needs specific PHP versions, memcache, apache solr, varnish etc.

But there are tools to solve this problems. One of most promiment is Vagrant. It allows to spin local virtual machine with same settings on different platforms.

There are also tools to create configurations for your varnish VMs that won't require you to read a lot of documentation. It is simple like using UI of the website, click on various checkboxes, download archive and run 'vagrant up' and here you go.

In this session we will talk about:
- how vagrant works, how to run it locally and why you should use it
- how puppet works, how to adjust puppet scripts for your custom needs
- puphpet.com website to help building configurations, puphpet.drupal.ua for drupal specific configs
- we will share our real life experience using vm's for handling drupal projects

After this session attendees will have practical instructions how to use vagrant in their daily work.

Published in: Technology, Design

0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
562
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
4
Comments
0
Likes
3
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Local development with Vagrant Yuriy Gerasimov Senior Drupal Architect Propeople @ygerasimov
  • 2. Plan ● What is Vagrant? ● Provisioning, puppet ● Generating configs with puphpet.com ● How puphpet.com works internally
  • 3. What is Vagrant ● Layer on top ov virtual machine providers – Virtualbox – Vmware ● Command line tool ● Text file to control the settings ● Plenty of boxes available on internet
  • 4. Vagrant commands ● vagrant up ● vagrant ssh ● vagrant provision ● vagrant halt ● vagrant destroy ● vagrant reload --provision
  • 5. Vagrant configuration ● Ruby syntax ● Box, ram, cpu Vagrant.configure("2") do |config| config.vm.box = 'ubuntu-1204' config.vm.box_url = 'http://.../ubuntu-1204-x64.box' config.vm.provider :virtualbox do |vb| vb.customize ["modifyvm", :id, "--memory", "2048"] vb.customize ["modifyvm", :id, "--cpus", "2"] end end
  • 6. Vagrant boxes ● https://vagrantcloud.com ● http://www.vagrantbox.es
  • 7. Vagrant configuration ● Network ● Sync folders ● Nfs is faster than native. Try latest vagrant with rsync Vagrant.configure("2") do |config| config.vm.network "private_network", ip: "192.168.50.4" end Vagrant.configure("2") do |config| config.vm.synced_folder "project/", "/var/www/project" end
  • 8. Vagrant provisioning ● Shell ● Puppet (model driven) ● Chef (procedural)
  • 9. puppet
  • 10. PuPHPet.com Demo
  • 11. PuPHPet.com
  • 12. PuPHPet.com ● All configs in puphpet/config.yaml ● Uses puppet librarian (Puppetfile)
  • 13. Extending configs ● Use another puppet module – Add it to the Puppetfile – Modify manifest.pp
  • 14. Contributing to puphpet.com ● Symfony app ● Each config element is a separate bundle that provides UI and manifest.pp part ● Remember about all OS (debian + centos)
  • 15. Local development with Vagrant Yuriy Gerasimov Senior Drupal Architect Propeople @ygerasimov