Um melhor ambiente de desenvolvimento com o Vagrant

Recentemente, comecei a usar o Vagrant para o meu ambiente de desenvolvimento local.

O XAMPP tem cumprido a sua função, até agora, mas chegamos a um ponto em que é necessário uma máquina virtual o mais semelhante possível ao ambiente em produção.

É aqui que entra o Vagrant, que é, de uma forma muito simples (e talvez um pouco enganadora) um gestor de máquinas virtuais.

Permite, apenas com um ficheiro (chamado Vagrantfile ) na raiz do nosso projecto, descrever a máquina que pretendemos usar e instalar o software necessário. Este ficheiro indica a imagem que vai servir de base à nossa máquina virtual e todas as configurações e instalações necessárias.

A imagem de base (designada base box) pode ser uma das muitas disponíveis na net. Embora a fonte principal seja a Vagrant Cloud. Basta indicar o URL da box no Vagrantfile e, se ela ainda não estiver instalada, o download é feito automaticamente. Claro que, em vez de usar uma base box já existente, podemos criar uma de raiz, exactamente com o que precisamos.

Depois desta configuração inicial, de cada vez que precisarmos da máquina, basta escrever o comando ‘vagrant up’. Simples. Outra grande vantagem é que o Vagrantfile pode ser partilhado entre várias pessoas (via Git, por exemplo) de modo a que todas trabalhem com a mesma máquina virtual.

A documentação oficial é bastante boa e deve ser suficiente para a maioria dos casos de uso.

É uma ferramenta que tem uma pequena curva de aprendizagem inicial, especialmente se tentarmos criar a nossa própria base box (este tutorial ajuda) mas que compensa bastante depois de termos todas as arestas limadas.