quarta-feira, outubro 08, 2014

Aprenda a usar o Vagrant

O Vagrant é um projeto que permite configurar, reproduzir e portar facilmente ambientes de desenvolvimento virtualizados.

Faz aproximadamente um ano que o amigo Odilon falou-me do Vagrant. Inicialmente não vi vantagem alguma em usar um ambiente virtualizado para o desenvolvimento (problema típico de pessoas limitadas feito eu), mas fato é que após estudar mais profundamente foi impossível não enxergar as vantagens.

Usando Vagrant posso executar máquinas virtuais que contém toda a minha infraestrutura de desenvolvimento: servidor de aplicação, banco de dados, bibliotecas, configurações personalizadas do sistema operacional, etc. Além dessas vantagens, ainda posso facilmente compartilhar meu ambiente de desenvolvimento com outro desenvolvedor, sem ter que preocupar-me se todas as configurações necessárias para a execução da aplicação estarão realizadas na máquina do outro desenvolvedor.

Massa! Então o que eu preciso fazer para começar a utilizar o Vagrant imediatamente ?

A primeira coisa a fazer é realizar o download do Vagrant e instalar no seu computador. Em seguida visite o site Vagrantbox e efetue o download de uma das ínumeras boxes disponíveis para uso. Você encontrará box para tudo e de todos os sabores possíveis. Depois, você precisará dos comandos abaixo para adicionar, criar, iniciar e executar uma box (nome usado para representar uma máquina virtual Vagrant).

Comandos básicos Vagrant
  1. vagrant box add precise32 precise32.box: comando usado para adicionar uma box ao vagrant
  2. vagrant init precise32: comando usado para registrar a box no seu provider de máquinas virtuais (VirtualBox ou Vmware)
  3. vagrant up: comando usado para levantar a box
  4. vagrant halt: comando usado para baixar a box
  5. vagrant suspend: comando usado para suspender a box
  6. vagrant resume: comando usado para continuar a box
  7. vagrant reload: comando usado para reiniciar e recarregar as configurações da box
  8. vagrant package precise32 --base svn_default_1383827483 --output /home/user/precise32.box --vagrantfile Vagrantfile: comando usado para empacotar uma box

Comandos avançados VirtualBox
Nesse processo de gerar boxes você precisará dos comandos virtualbox abaixo para criação de boxes menores.
  1. VBoxManage clonehd --format VDI box-disk1.vmdk /home/user/box-disk1.vdi: comando usado para clonar um disco vmdk para outro disco no formato vdi
  2. VBoxManage modifyhd /home/anderson/box-disk1.vdi --compactm: comando usado para compactar o disco virtual

Outros links legais sobre o assunto:
Vagrant Getting Started
Usando o vagrant como ambiente de desenvolvimento no Windows