Download - Vagrant - Team Development made easy
![Page 1: Vagrant - Team Development made easy](https://reader034.vdocuments.us/reader034/viewer/2022052410/554a3390b4c90520578b5379/html5/thumbnails/1.jpg)
VagrantTeam development made easy
![Page 2: Vagrant - Team Development made easy](https://reader034.vdocuments.us/reader034/viewer/2022052410/554a3390b4c90520578b5379/html5/thumbnails/2.jpg)
Me
Technical Leader @Centralway
Before? Intraneia
● Open-Source, UbuntuDeloitte
● IT Audits, Security & Privacy
![Page 3: Vagrant - Team Development made easy](https://reader034.vdocuments.us/reader034/viewer/2022052410/554a3390b4c90520578b5379/html5/thumbnails/3.jpg)
How do we develop..
![Page 4: Vagrant - Team Development made easy](https://reader034.vdocuments.us/reader034/viewer/2022052410/554a3390b4c90520578b5379/html5/thumbnails/4.jpg)
MySQL Apache2 Python PEAR RVM npm nginx PostgreSQL PHP Ruby
RoR MongoDB ....
???
Local development environment
![Page 5: Vagrant - Team Development made easy](https://reader034.vdocuments.us/reader034/viewer/2022052410/554a3390b4c90520578b5379/html5/thumbnails/5.jpg)
Local development environment
No IsolationNot ShareableNot Repeatable
![Page 6: Vagrant - Team Development made easy](https://reader034.vdocuments.us/reader034/viewer/2022052410/554a3390b4c90520578b5379/html5/thumbnails/6.jpg)
Alternative?Virtual Machines
![Page 7: Vagrant - Team Development made easy](https://reader034.vdocuments.us/reader034/viewer/2022052410/554a3390b4c90520578b5379/html5/thumbnails/7.jpg)
Vagrant
Free and open source
Started on January 21, 2010 by Mitchell Hashimoto and John Bender.
The first release, 0.1.0 released on March 7, 2010.
Linux, Mac OS X, and Windows
![Page 8: Vagrant - Team Development made easy](https://reader034.vdocuments.us/reader034/viewer/2022052410/554a3390b4c90520578b5379/html5/thumbnails/8.jpg)
Vision
The vision of the project is to create a tool to transparently manage all the complex parts of
modern development within a virtual environment without affecting the everyday
workflow of the developer too much.
![Page 9: Vagrant - Team Development made easy](https://reader034.vdocuments.us/reader034/viewer/2022052410/554a3390b4c90520578b5379/html5/thumbnails/9.jpg)
Vagrant
~12000 lines of Ruby~3500 : test code~5500 : "plugins" ~3300 : core
Thats a lot of code!!!
![Page 10: Vagrant - Team Development made easy](https://reader034.vdocuments.us/reader034/viewer/2022052410/554a3390b4c90520578b5379/html5/thumbnails/10.jpg)
![Page 11: Vagrant - Team Development made easy](https://reader034.vdocuments.us/reader034/viewer/2022052410/554a3390b4c90520578b5379/html5/thumbnails/11.jpg)
Script must...
Import a virtual machinesetup host only networkingsetup shared foldersboots the machineprovision the machinesupport Mac, Linux, and Windowsguest additionsNFS
![Page 12: Vagrant - Team Development made easy](https://reader034.vdocuments.us/reader034/viewer/2022052410/554a3390b4c90520578b5379/html5/thumbnails/12.jpg)
and how do we use it?
![Page 13: Vagrant - Team Development made easy](https://reader034.vdocuments.us/reader034/viewer/2022052410/554a3390b4c90520578b5379/html5/thumbnails/13.jpg)
the basic way#Fetch the Box$ vagrant box add base http://files.vagrantup.com/precise32.box
#Init Vagrant on your current folder$ vagrant init
#Start it!!$ vagrant up
![Page 14: Vagrant - Team Development made easy](https://reader034.vdocuments.us/reader034/viewer/2022052410/554a3390b4c90520578b5379/html5/thumbnails/14.jpg)
with various projects...
![Page 15: Vagrant - Team Development made easy](https://reader034.vdocuments.us/reader034/viewer/2022052410/554a3390b4c90520578b5379/html5/thumbnails/15.jpg)
![Page 16: Vagrant - Team Development made easy](https://reader034.vdocuments.us/reader034/viewer/2022052410/554a3390b4c90520578b5379/html5/thumbnails/16.jpg)
VagrantfileVagrant::Config.run do |config| config.vm.box = "debian" config.vm.box_url = "http://path/to/vagrantbox.box" config.vm.network :hostonly, "10.10.10.10", :adapter=>4 config.vm.customize ["modifyvm", :id, "--memory", "512"]end
![Page 17: Vagrant - Team Development made easy](https://reader034.vdocuments.us/reader034/viewer/2022052410/554a3390b4c90520578b5379/html5/thumbnails/17.jpg)
VagrantfileVagrant::Config.run do |config| config.vm.box = "debian" config.vm.box_url = "http://path/to/vagrantbox.box" config.vm.network :hostonly, "10.10.10.10", :adapter=>4 config.vm.customize ["modifyvm", :id, "--memory", "512"]
config.vm.provision :puppet do |puppet| puppet.manifests_path = "vagrant/puppet/manifests" puppet.manifest_file = "base.pp" end
config.vm.provision :shell, :inline => "/bin/bash /vagrant/myscript.sh"end
![Page 18: Vagrant - Team Development made easy](https://reader034.vdocuments.us/reader034/viewer/2022052410/554a3390b4c90520578b5379/html5/thumbnails/18.jpg)
VagrantfileVagrant::Config.run do |config| config.vm.box = "debian" config.vm.box_url = "http://path/to/vagrantbox.box" config.vm.network :hostonly, "10.10.10.10", :adapter=>4 config.vm.customize ["modifyvm", :id, "--memory", "512"]
config.vm.provision :puppet do |puppet| puppet.manifests_path = "vagrant/puppet/manifests" puppet.manifest_file = "base.pp" end
config.vm.provision :shell, :inline => "/bin/bash /vagrant/myscript.sh"end
![Page 19: Vagrant - Team Development made easy](https://reader034.vdocuments.us/reader034/viewer/2022052410/554a3390b4c90520578b5379/html5/thumbnails/19.jpg)
Demo time....
![Page 20: Vagrant - Team Development made easy](https://reader034.vdocuments.us/reader034/viewer/2022052410/554a3390b4c90520578b5379/html5/thumbnails/20.jpg)
important vagrant commands
vagrant up
vagrant provision
vagrant suspend
vagrant halt
vagrant destroy
![Page 21: Vagrant - Team Development made easy](https://reader034.vdocuments.us/reader034/viewer/2022052410/554a3390b4c90520578b5379/html5/thumbnails/21.jpg)
tips
shared folders vs NFS
golden box vs clean box
similar environments -> helps deployments
Multi-VM Environments http://vagrantup.com/v1/docs/multivm.html
![Page 22: Vagrant - Team Development made easy](https://reader034.vdocuments.us/reader034/viewer/2022052410/554a3390b4c90520578b5379/html5/thumbnails/22.jpg)
tips
veewee ● github.com/jedi4ever/veewee
puppet / chef
![Page 23: Vagrant - Team Development made easy](https://reader034.vdocuments.us/reader034/viewer/2022052410/554a3390b4c90520578b5379/html5/thumbnails/23.jpg)
Thank You
vagrantup.comvagrantbox.esgithub.com/igama/wp-vagrant-demo