10 min introduction into the usage and benefits of Vagrant (with Puppet). Demo-driven, see bit.ly/VagrantPpt
The presentation only accompanies a demo and is without value on its own.
1. Commit On Day One
Thanks to Vagrant &
Puppet!
Jakub Holý - Iterate Conference 8/2012
2. Vagrant is
command-line tool to
● manage VirtualBox VMs
● install & config there SW
● integrate the VM and host
Jakub Holý - Iterate Conference 8/2012
3. Demo time!
New VM with Apache serving a local site
Jakub Holý - Iterate Conference 8/2012
4. Benefits
● Broken environment? Destroy & recreate!
● Possibility of multiple, incompatible envs
● Development environment shared by all
Jakub Holý - Iterate Conference 8/2012
5. Benefits
● Broken environment? Destroy & recreate!
● Possibility of multiple, incompatible envs
● Development environment shared by all:
○ Standardization: Everybody has the same env
○ Changes - do once, distribute to everyone
○ External teams can easily play with your app/env
○ Faster onboarding: git clone + vagrant up
○ Safe (reversible) experimentation with config
○ 100% documented dev env configuration
Jakub Holý - Iterate Conference 8/2012
6. Pitfalls
● Provisioning = more work than 1* config
● Limitations in Vagrant/VB/host integration
● Vagrant occasionally fails to start the VM
● Some limitations under Windows
(More info at http://theholyjava.wordpress.com/tag/vagrant/)
Jakub Holý - Iterate Conference 8/2012
7. Learning more
● Get started: bit.ly/VagrantPpt
● Execute 'vagrant'
● Great docs at vagrantup.com
● Puppet reference at bit.ly/PuppetTypeRef
Summary
vagrant init - Create VM
vagrant up - Install, config SW
vagrant ssh - Integrate VM and host
vagrant halt
vagrant destroy
Jakub Holý - Iterate Conference 8/2012
8. Bonus: Tips
● The VM user is vagrant, psw vagrant
Jakub Holý - Iterate Conference 8/2012