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

Automate your development environment - PTJUG

João Nelas
October 24, 2013

Automate your development environment - PTJUG

With Chef and Vagrant.

Checkout the demo video at https://vimeo.com/77776149

João Nelas

October 24, 2013
Tweet

Other Decks in Programming

Transcript

  1. Me

  2. • CTO at Cult of Bits • 10+ years of

    professional Java development Me
  3. Chef variants Chef Solo chef-solo is an open source version

    of the chef-client that allows using cookbooks with nodes without requiring access to a server.
  4. Chef concepts Node A node is any physical, virtual, or

    cloud machine that is configured to be maintained by a chef-client.
  5. Chef concepts Role A role is a way to define

    certain patterns and processes that exist across nodes in an organization as belonging to a single job function.
  6. Chef concepts Cookbook A cookbook is the fundamental unit of

    configuration and policy distribution. Each cookbook defines a scenario, such as everything needed to install and configure MySQL, and then it contains all of the components that are required to support that scenario
  7. Vagrant Vagrant is a tool for building complete development environments.

    Vagrant lowers development environment setup time, increases development/production parity, and makes the "works on my machine" excuse a relic of the past. source: http://www.vagrantup.com/
  8. Vagrant concepts Providers Enable Vagrant to work with different backends:

    VirtualBox (the default), VMware Fusion (paid), AWS, Rackspace, Digital Ocean, etc…
  9. Vagrant concepts Boxes Boxes are the skeleton from which Vagrant

    machines are constructed. They are portable files which can be used by others on any platform that runs Vagrant to bring up a working environment. ! Boxes are provider specific.
  10. Vagrant concepts Vagrantfile The primary function of the Vagrantfile is

    to describe the type of machine required for a project, and how to configure and provision these machines. ! Commit them to version control.
  11. The Chef Homepage http://www.opscode.com/chef/ The Vagrant Homepage http://www.vagrantup.com/ A big

    list of available Vagrant boxes http://www.vagrantbox.es/ References