23.10.2016

Alguns desenvolvedores já conhecem o Vagrant e os benefícios de que eles nos traz para o desenvolvimento em geral, como:

  • diminuir o tempo de configuração dos ambientes
  • ambientes leves e portáteis
  • ambiente idêntico para todos da equipe (versões, configurações, dependências)
  • e muito mais

Para começarmos, precisamos instalar o Vagrant e o VirtualBox (gratuito e disponível para a maioria das plataformas).

Configurando nosso primeiro ambiente

Para vocês terem ideia do quão simples é montar um ambiente no Vagrant, bastam duas linhas e pronto! Já temos nosso ambiente rodando.
No Mac OS X e no Windows, o comando vagrant é adicionado automaticamente em seu PATH. Nos demais sistemas operacionais precisaremos adicionar /opt/vagrant/bin ao seu PATH.

$ vagrant init

Sempre que iniciamos um novo ambiente com o comando vagrant init, é criado um arquivo de configuração, chamado Vagrantfile, no diretório raiz do projeto e é usado para configurar e definir todo o comportamento de nossa máquina virtual.

Não precisamos entender todas essas configurações agora, por isso iremos apagar tudo e deixar apenas as linhas abaixo

Vagrant.configure(2) do |config|
    # ...
end

O 2, na primeira linha, representa a versão de configuração do objeto config que será usada.

Atualmente existem apenas duas versões: 1 e 2. A versão 1 são configurações utilizadas no Vagrant 1.0.x e a versão 2 para 1.1+ até 2.0.x.

Continuando com nosso arquivo de configuração, vamos dizer ao vagrant qual sistema operacional queremos instalar e que sincronize toda a pasta do projeto com uma pasta em nosso ambiente local. No exemplo, quero fazer o sync do projeto que está em /home/vagrant com a minha pasta em /Users/gustavo/www.

Vagrant.configure(2) do |config|
    config.vm.box = "ubuntu/trusty64"
    config.vm.synced_folder "/Users/gustavo/www", "/home/vagrant"
 end

Nesse exemplo estou utilizando uma máquina com o Ubuntu 14.04 LTS.
O sistema a ser instalado vai da preferência de cada um. Você pode ver uma lista das boxes disponíveis publicamente em https://atlas.hashicorp.com/boxes/search.

Configurações feitas! Agora precisamos subir o ambiente.
Para isso, vamos voltar ao terminal e digitar o comando abaixo:

$ vagrant up

Pronto! Temos nosso ambiente funcionando e sem muito trabalho. :)

Agora podemos instalar o que for necessário em nosso ambiente (php, mysql etc), acessando por SSH, utilizando os comandos habituais do linux.

$ vagrant ssh

Fique atento!

Se você tem o costume de versionar seus projetos, o Vagrantfile é um arquivo que deve ser versionado.
Dessa forma, qualquer pessoa que trabalhe nesse mesmo projeto pode se beneficiar do ambiente sem perder tempo configurando uma nova máquina virtual.