with its combination of clarity, simplicity, power, and usefulness.” - Jeff Sussna Ingineering.IT in the foreward of Vagrant up and running by Mitchell Hashimoto Friday, 4 October 13
all the complex parts of modern development within a virtual environment without affecting the everyday workflow of the developer too much.” - http://www.vagrantup.com Friday, 4 October 13
Print the version and exit. -h, --help Print this help. Available subcommands: box destroy halt help init package plugin provision reload resume ssh ssh-config status suspend up For help on any individual command run `vagrant COMMAND -h` Vagrant is a command line tool Friday, 4 October 13
vagrant destroy [vn-name] • To access the virtual machine via ssh vagrant ssh • When you finished work for the day vagrant halt vagrant up • Once Configured one command to bring up you vagrant dev environment Friday, 4 October 13
file from http://www.vagrantbox.es •Using the instructions off - (not recommended) http://docs-v1.vagrantup.com/v1/docs/base_boxes.html •VeeWee https://github.com/jedi4ever/veewee •Packer http://www.packer.io/docs/builders/virtualbox.html In a future version of vagrant packer will be integrated. Friday, 4 October 13
•Written in ruby you describe the system as a set of resources using a resource abstraction language. Puppet Puppet Apply •Built by Opscode. •Written in ruby uses a domain specific language (DSL). Chef Chef Solo Friday, 4 October 13
|- package.rb |- source.rb Chef Solo - autonomy of a cookbook include_recipe "php::#{node['php']['install_method']}" Every cookbook needs a default recipe default.rb node['php']['packages'].each do |pkg| package pkg do action :install end end template "#{node['php']['conf_dir']}/php.ini" do source "php.ini.erb" owner "root" group "root" mode "0644" variables(:directives => node['php']['directives']) end Ruby code and chef dsl package.rb Friday, 4 October 13
config.vm.box_url = "http://files.vagrantup.com/precise64.box" config.vm.provision "chef_solo" do |chef| chef.cookbooks_path = ["cookbooks"] chef.roles_path = "roles" chef.add_role("local") end end Chef Solo - Update VagrantFile Friday, 4 October 13
of giants. •Hundreds of pre written cookbooks and modules. https://forge.puppetlabs.com https://github.com/puppetlabs https://github.com/opscode-cookbooks Friday, 4 October 13
•Providers •Plugins Vagrant.configure("2") do |config| config.vm.synced_folder ".", "/vagrant", nfs: true end Vagrant.configure("2") do |config| config.vm.network "private_network", ip: "192.168.50.4" end Friday, 4 October 13
1.0, the first stable version, was released in March 2012, exactly two years after the original version of Vagrant. March 2013 Vagrant 1.1 released. Virtualbox decoupled from the core. New plugin system. New providers AWS and VMWARE. November 2012 Mitchell Hashimoto forms Hashicorp. Present Vagrant Timeline Development Environments no longer suck Friday, 4 October 13