anúncios

terça-feira, 22 de novembro de 2016

Criando ambiente de desenvolvimento com Vagrant

O que é Vagrant ?

O Vagrant é um projeto que permite virtualizar o ambiente de desenvolvimento de forma simples. Com o Vagrant você pode executar máquinas virtuais utilizando o VirtualBox ou VMware, dentre muitas outras opções. Estas máquinas virtuais podem ter qualquer configuração e programas instalados e você pode, inclusive, criar a sua própria configuração com muita facilidade. Isso ajuda bastante quando um novo funcionário é contratado, por exemplo. Se todo o seu ambiente de desenvolvimento for baseado em boxes (box é o nome que o Vagrant utilizada para definir cada máquina virtual) personalizados, tudo o que ele precisa fazer é instalar o Vagrant e executar um único comando.

Depois de conhecer o Vagrant e pra que serve, podemos seguir os procedimentos de instalação e configuração do Vagrant em seu computador com SO Windows ou Linux.

Instalação do Vagrant

Como o Vagrant depende do VirtualBox ou VMWare, é necessário instalar um ou outro, nesse caso optei por instalar o VirtualBox.

Faça o download do VirtualBox conforme o SO que tem no seu PC no site:
https://www.virtualbox.org/wiki/Downloads e a instalação posteriormente.
Em seguida, faça o download do Vagrant conforme o SO que tem no seu PC no site: https://www.vagrantup.com/downloads.html e a instalação posteriormente.

Recomendo criar uma variável de ambiente VBox e Vagrant apontando para o caminho onde foi instalado o VirtualBox e Vagrant, depois aplicar essas variáveis de ambiente no PATH do SO.
Por que? Para poder executar de qualquer lugar no CMD ou terminal.

Vagrant na prática
Agora pesquise um ambiente pronto Vagrant (box) no site: https://atlas.hashicorp.com/boxes/search e depois execute conforme abaixo:
vagrant box add nome-box
Após o download do ambiente (box), inicie com o comando
vagrant init nome-box
Acesso ao ambiente (box) via SSH
vagrant@127.0.0.1 -p 2222 OU
vagrant ssh

Comandos Vagrant
  • vagrant ssh:
  • faz login na máquina virtual, não precisa de login ou senha
  • vagrant up:
  • faz o boot na máquina virtual e executa os provisioners definidos
  • vagrant reload:
  • reinicia a máquina virtual. Útil principalmente quando há mudanças no Vagrantfile
  • vagrant provision:
  • executa apenas os provisioners, sem reiniciar a máquina. Útil após fazer pequenas modificações no provisionamento
  • vagrant destroy:
  • destrói a máquina virtual. Use quando quiser começar do zero com um vagrant up vagrant halt - "desliga" a máquina, equivalente a um shutdown
  • vagrant suspend:
  • suspende a execução da máquina virtual salvando seu estado (ideal para o dia-a-dia quando desenvolvendo)
  • vagrant resume:
  • retoma uma máquina virtual previamente suspensa

Convertendo .OVA to .BOX

Na seção anterior você aprendeu a usar um ambiente Vagrant (box) já pronto do repositório, nessa seção aprenderá como gerar o arquivo box para usar no Vagrant.

Bom, primeiramente cria uma máquina virtual no VirtualBox, instale uma distro e configure todo o ambiente necessário, depois exporte essa máquina virtual para o formato .ova.

Importando VM com formato .ova no VirtualBox

.OVA é a VM exportada do VirtualBox
.BOX é a VM convertida do .OVA to .BOX para usar no Vagrant
Primeiro lista as VMs
$VBoxManage list vms
copia o serial da vm
$vagrant package --base < serial-copiado-vm > --output NOME.box
Transfira essa NOME.box para um servidor da rede. E de outra máquina com o VirtualBox e Vagrant instalados.
$vagrant box add NOME.box --name NOME
Cria o arquivo Vagrantfile
$vagrant init NOME

Vagrant.configure("2") do |config|
config.vm.box = "NOME"
# ...
end
Liga a VM: $vagrant up
Desliga a VM: $vagrant halt
Destroi a VM: $vagrant destroy

Referências:
http://blog.wfsneto.com.br/2014/08/22/como-criar-e-costumizar-box-vagrant-cloud
https://nandovieira.com.br/usando-o-vagrant-como-ambiente-de-desenvolvimento-no-windows
http://www.erikaheidi.com/pt_br/blog/vagrant-101-montando-seu-ambiente-de-desenvolvimento-portatil
Feito!

Nenhum comentário:

Postar um comentário