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

Developing Betamax with Vagrant

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.

Developing Betamax with Vagrant

Talk given at tape.tv developer demo about developing our main Rails application inside a Vagrant box.

Avatar for Joe Corcoran

Joe Corcoran

July 10, 2015
Tweet

More Decks by Joe Corcoran

Other Decks in Programming

Transcript

  1. Vagrant Provisioning Vagrant.configure(2) do |config| config.vm.box = 'ubuntu/trusty64' config.vm.provision 'bashrc',

    type: 'file', source: '~/.bashrc', destination: '/home/vagrant/.bashrc' end
  2. Vagrant Provisioning Vagrant.configure(2) do |config| config.vm.box = 'ubuntu/trusty64' config.vm.provision 'bashrc',

    type: 'file', source: '~/.bashrc', destination: '/home/vagrant/.bashrc' config.vm.provision 'hello', type: 'shell', inline: 'echo "hello"' end
  3. Vagrant Commands $ vagrant halt $ vagrant destroy $ vagrant

    reload $ vagrant provision $ vagrant provision --provision-with hello
  4. Betamax base box Contents • build-essential • Git • Python

    and awscli • Postgresql • Node.js • Redis
  5. Betamax Using the base box Vagrant.configure(2) do |config| config.vm.box =

    'http://boxes.tape.tv/betamax-v0.2.1.box' # ... end
  6. Betamax NFS vs rsync • NFS is generally better •

    No file system events on the guest machine
  7. Betamax NFS vs rsync • NFS is generally better •

    No file system events on the guest machine
  8. Betamax NFS vs rsync • NFS is generally better •

    No file system events on the guest machine • rsync-gatling-rsync