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

Usando Vagrant como ambiente de desenvolvimento Ruby

Usando Vagrant como ambiente de desenvolvimento Ruby

Uma das grandes dificuldades em qualquer plataforma de desenvolvimento é manter um ambiente conciso, principalmente quando o seu time possui muitos desenvolvedores. Junte isso à diferença entre o sistema operacional do desenvolvedor com arquiteturas diferentes, bibliotecas utilizadas com extensões nativas e a probabilidade de dar algo errado em produção aumenta muito! Veja como o Vagrant pode resolver todos esses problemas e ainda servir como uma plataforma de testes para scripts de configuração de servidores usando máquinas virtuais.

Palestra apresentada na RubyConf 2013

Nando Vieira

August 31, 2013
Tweet

More Decks by Nando Vieira

Other Decks in Programming

Transcript

  1. O que você faz quando está em uma plataforma Windows

    e precisa usar ferramentas que só funcionam em ambientes *nix?
  2. Em um mundo perfeito, você poderia apenas pe ar uma

    cópia do seu projeto e executá-la.
  3. Vagrant.configure("2") do |config| config.vm.box = "precise64" config.vm.provision :puppet do |puppet|

    puppet.manifests_path = "manifests" puppet.manifest_file = "init.pp" end end
  4. Vagrant.configure("2") do |config| config.vm.define :filesystem do |fs| fs.vm.box = "precise64"

    fs.vm.network :hostonly, "192.168.2.100" end config.vm.define :gitserver do |git| git.vm.box = "precise64" git.vm.network :hostonly, "192.168.2.101" end end
  5. Vagrant.configure("2") do |config| config.vm.box = "precise64" forward_port = -> guest_port,

    host_port = guest_port { config.vm.network :forwarded_port, guest: guest_port, host: host_port } forward_port[3000] # rails forward_port[9292] # rack forward_port[4567] # sinatra forward_port[3306] # mysql forward_port[5432] # postgresql forward_port[6379] # redis forward_port[80, 8080] # nginx/apache end
  6. Com o Va rant, cada projeto possui confi urações e

    dependências específicas, totalmente isoladas.
  7. Mac OS X *NIX Windows Desenvolvimento Produção Estatísticas Ambiente de

    desenvolvimento versus ambiente de produção* *Estatísticas inventadas, mas com um fundo de verdade. Mac OS X *NIX Windows