Вы находитесь на странице: 1из 27

Vagrant

Uma ferramenta realmente til e verstil

Wanderlei Silva do Carmo


Wander.silva@gmail.com

Apresentao

Sou analista e desenvolvedor de sistemas


Programador e instrutor nas linguagens PHP,
JAVA, PYTHON, C, C++ e bancos de dados;

Especialista Linux

Adepto e seguidor da filosofia do software livre;

Profundo estudioso de metodologias de


desenvolvimento e paradigmas de
programao

Objetivo

Apresentar o Vagrant como ferramenta auxiliar


em ambientes de desenvolvimento;

Motivao

Quem nunca sofreu com configurao de ambientes de desenvolvimento e


produo ?;
Quantos colegas programadores na plataforma MS Windows (
www.microsoft.com.br) precisam instalar XAMP, WAMP e tantos outros para
programar em PHP ?
Quantos de ns precisamos testar nossos projetos em diversas plataformas
e enfrentamos inmeros problemas, que s ns sabemos quais so?
Quantas vezes precisamos alterar configuraes de testes e quando
precisamos us-los em produo, o ambiente foi to modificado que tudo
quebra e temos um retrabalho enorme para colocarmos tudo pra
funcionar novamente?
Ser que conseguiramos subir um novo ambiente de desenvolvimento
em menos de 15 minutos?

Eis que surge

Vagrant

Requisitos

Baixar e instalar o VirtualBox na ltima verso disponvel


para sua plataforma, juntamente com o seu
ExtensionPack (Window, Mac ou Linux);

Baixar e instalar o Vagrant para sua plataforma de


desenvolvimento;

http://www.oracle.com/technetwork/pt/server-storage/virtualbox/downloads/index.html

https://www.vagrantup.com/

No caso de uma instalao em MS Windows, baixe


tambm o putty, necessrio para o acessar a mquina
virtual

http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

Observaes

Neste tutorial no vou discorrer como instalar os requisitos


mencionados no slide anterior por no ser meu foco neste momento, j
que depende de sua plataforma de desenvolvimento. Mas, facilmente
pode ser encontrado em outros tutoriais estes procedimentos, inclusive
no prprio site de seus respectivos fornecedores;
Outro detalhe importante que, apesar de Vagrant dar suporte para
outros providers vou me ater apenas ao Virtualbox por ser totalmente
gratuito e atender muito bem as expectativas para todos os testes que
fiz, porm, fiquem livre para usar qualquer outro provider, bastando
apenas informar isso durante a criao da mquinas virtuais;
Providers so as plataformas de virtualizao usadas pelo Vagrant que
pode ser VirtualBox (padro), VMWare(uma outra excelente opo) e o
Hyper-V (no gostei opnio minha);

O que o Vagrant faz?

O Vagrant uma ferramente que abstrai toda a complexidade de criao e gerenciamento de


mquinas virtuais;
Apesar de usar providers, no ser necessrio usar suas respectivas interfaces com o usurio;
Vagrant vai fazer tudo de forma bem mais simples e confortvel;
Outro detalhe que voc pode ter inmeros projetos e cada um com um ambiente diferente
instalado, podendo inclusive ter ambientes totalmente isolados que ajuda muito em diversos
cenrios;
Vamos supor um cenrio que seja necessrio um servidor WEB, um servidor FTP, um servidor
MySQL, etc... Voc pode instalar ambientes com suas devidas boxes;
Outro recurso interessante, uma vez consolidado seu ambiente, voc ter uma box totalmente
customizada que poder ser bacapeada e totalmente pronta. Por exemplo, chega um novo
programador em sua equipe: a nica coisa que precisa passar para ele o ambiente em um
diretrio e apenas executar a mquina virtual contida no box... que facilidade! Tudo vai estar l,
testado e funcional... em menos de 15 minutos o novo programador estar trabalhando em seus
respectivos projetos.
Eu particularmente, penei durante anos, pois como trabalho em centros de treinamento e
precisava usar vrias distros Linux e era um verdadeiro pandemonho para t-los plenamente
funcionais... e agora com Vagrant, no quero outra vida. Tanto faz, Windows, Linux ou Mac, tudo
funciona redondinho...

Onde baixar boxes prontas para uso

Neste endereo voc pode baixar boxes


prontinhas para uso e voc pode utiliz-las e
prepar-las conforme suas necessidades.
H boxes com configuraes adequadas para
diversos fins.
Links:

http://www.vagrantbox.es/

Configurando no Windows

Bom, grande parte de desenvolvedores usam o


Windows como ambiente de desenvolvimento,
ento vamos l:

Vamos atender os requisitos mencionados, ou seja,


baixar o VirtualBox e o Vagrant.

Uma vez atendidos os requisitos:

Crie uma pasta em seu ambiente que ser o seu diretrio de trabalho,
por exemplo C:\projetos\projeto1\.
Abra um prompt de comando de preferencia como administrador e entre
na pasta criada: cd c:\projetos\projetos1;
Digite o comando: vagrant init hashicorp/precise32 - -provider
virtualbox, no caso vou instalar hashicorp/precise32. Este nome pode
ser um de sua escolha.
vagrant up hashicorp/precise32 --provider virtualbox

Uma pequena parte da lista...


Para instalar:
vagrant box add {title} {url}
vagrant init {title}
vagrant up
Onde {title} o nome que voc vai dar a sua box e {url} endereo de onde baixar ou o
caminho do diretrio para onde voc fez download.

Criando o diretrio de trabalho: neste caso em d:\projetos\precise32

Baixando e instalando a vbox

Configurando ...

Vamos agora digitar um comando que criar um


arquivo de manifesto, que na verdade um arquivo de
configurao inicial da nova mquina virtual.
Geralmente este arquivo criado tem o nome de
Vagrantfile.

Configurao bsica do Vagrantfile


Os comentrios originais do
arquivo de configurao foram
retirados para melhor
visualizao das diretivas que
vamos usar mas outras
importantes diretivas existem e
quando voc melhorar seu
conhecimento sobre a ferramenta
com certeza vai saber como uslas...
Por ora, vamos usar conforme
este exemplo.

Estamos configurando uma box que baixar do repositrio hashicorp/precise32 com


mapeamento de porta 8080 local para 80 da mquina virtual e usar o compartilhamento de rede
em bridge, compartilhando o diretrio do projeto onde ficaro armazenados e espelhados para o
diretrio /var/www da mquina virtual. Esta mquina ter 200 MB de memria e executar um
update da lista de pacotes e instalar o apache2.

Iniciando a mquna virtual da vbox


Vagrant box add hashicorp/precise32
Pode demorar um pouco dependendo de sua conexo com a Internet.

Vagrant up

inicia a mquina virtual...

Acessando a mquina virtual com o Putty.

Lembra-se da configurao na
diretiva de redirecionamento
de portas.
Um redirecionamento da porta
2222 da mquina real para a
porta 22 da box.
Ento, apenas configure o
putty.exe de acordo.
Clique em open/abrir.

Acessando a box...
Clique em sim...
Isso vai gerar uma chave
criptogrfica.

Usurio: vagrant
Senha: vagrant.

Utilizando a box...

Pronto, seu ambiente Linux est


pronto para uso...

Tudo que for gravado em


/var/www estar tambm no seu
diretrio de projeto.

Atualizando a mquina virtual

No caso do Ubuntu voc utiliza apt-get update


Nas distros baseadas em Redhat ou Fedora, P.ex. Centos,
use yum update..
Mas h um script posintall.sh neste caso que far isso
automaticamente...

Instalando tudo que voc precisa


Como no nosso foco...
Segue um excelente link para servir de guia para instalar seu ambiente LAMP
para desenvolvimento.. . entre outros.
Muiiiiiiiiiiito melhor que apenas WAMP, XAMP, bla, bla, bla...
Voc tem agora um ambiente poderoso de desenvolvimento com o suprasumo do maior representante do software livre no momento: GNU/Linux.

http://blog.wfsneto.com.br/2014/06/21/php-configurando-ambiente-de-densenvolv
imento-ubuntu-14-04
http://www.informaticanaweb.com/servidor-web-lamp-ubuntu-13-04/
http://www.vivaolinux.com.br/dica/Instalacao-do-LAMP-no-Ubuntu/

Acessando o ambiente
pelo navegador

Desligando a mquina virtual


vagrant halt
Ou pelo prprio Linux:
sudo shutdown -h now
ou simplesmente sudo halt.

Instalando no Linux ou Mac

Como era de se esperar... sem problemas...


Os mesmos passos, porm, sem a
necessidade de usar o putty, bastando usar o
comando:

vagrant ssh

Todo o resto exatamente igual exceto por


baixar os requisitos para a plataforma Linux ou
Mac.

Criando uma box customizada

Com tudo instalado devidamente em seu ambiente de


desenvolvimento em sua box voc agora pode agora export-la e
sempre estar disponvel.
Para criar a box customizada apenas digite:

vagrant package

O mais legal que se precisar de instalar em uma outra mquina


s pegar esta box customizada copiar para a mquina de destino e
usar o comando:
vagrant box add nome_box url de sua box

E muito mais...

D pra fazer muito mais com Vagrant


Veja em:

http://www.erikaheidi.com/pt_br/blog/vagrant-101montando-seu-ambiente-de-desenvolvimento-portatil

Referncias

http://docs.vagrantup.com/v2/gettingstarted/boxes.html

Obrigado!