Commit On Day One
Thanks to Vagrant &
     Puppet!


    Jakub Holý - Iterate Conference 8/2012
Vagrant is
command-line tool to
● manage VirtualBox VMs
● install & config there SW
● integrate the VM and host




             Jakub Holý - Iterate Conference 8/2012
Demo time!




  New VM with Apache serving a local site




             Jakub Holý - Iterate Conference 8/2012
Benefits
● Broken environment? Destroy & recreate!
● Possibility of multiple, incompatible envs
● Development environment shared by all




              Jakub Holý - Iterate Conference 8/2012
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
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
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
Bonus: Tips
● The VM user is vagrant, psw vagrant




              Jakub Holý - Iterate Conference 8/2012

Commit on day one thanks to vagrant & puppet!

  • 1.
    Commit On DayOne Thanks to Vagrant & Puppet! Jakub Holý - Iterate Conference 8/2012
  • 2.
    Vagrant is command-line toolto ● 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 ● TheVM user is vagrant, psw vagrant Jakub Holý - Iterate Conference 8/2012