Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Provisioning with Vagrant & Puppet

Provisioning with Vagrant & Puppet

Showcase for using vagrant and puppet to continuously provision a system under test for testing your apps in a continuous integration system

Jeroen Rosenberg

April 02, 2012
Tweet

More Decks by Jeroen Rosenberg

Other Decks in Technology

Transcript

  1. Why you should care about modules • Easily reusable and

    re-distributable • Benefit from existing modules (Puppet Forge) • Testability
  2. Unit testing Puppet like a pro (1) Initial setup of

    cucumber-puppet 1. gem install cucumber-puppet 2. cd ~/my_puppet_project 3. cucumber-puppet-gen world
  3. Unit testing Puppet like a pro (2) Creating your high

    level language test 1. cucumber-puppet-gen debian_apt.feature 2. vim debian_apt.feature
  4. Unit testing Puppet like a pro (3) Creating the cucumber

    step definition Generated by cucumber-puppet
  5. Now dance for me puppets, dance! • vagrant up •

    vagrant reload ◦ Reboots the VM • vagrant provision ◦ Runs puppet!
  6. Enables devops to 'snap back' to a base version of

    the VM while making Puppet changes
  7. References Puppet Modules • http://docs.puppetlabs.com/guides/modules.html • http://forge.puppetlabs.com Testing Puppet •

    https://github.com/nistude/cucumber-puppet.example • http://puppetlabs.com/blog/testing-modules-in-the-puppet-forge Vagrant • http://vagrantup.com/docs/provisioners/puppet.html • http://unethicalblogger.com/2012/03/13/introducing-the-vagrant-plugin.html • https://github.com/t9md/vagrant-snap