vagrant
TRANSCRIPT
![Page 1: Vagrant](https://reader035.vdocuments.pub/reader035/viewer/2022062418/5565a1e4d8b42a083a8b47b8/html5/thumbnails/1.jpg)
VagrantSeu ambiente de desenvolvimento
“descolado”
![Page 2: Vagrant](https://reader035.vdocuments.pub/reader035/viewer/2022062418/5565a1e4d8b42a083a8b47b8/html5/thumbnails/2.jpg)
Quem?!
•Fernando “Fernandão” Cézar• Quase Analista de Sistemas pela UFMS
• Trabalha com TI a 10 anos
• Sócio-Desenvolvedor da Gendoc
• Responsável pela parte web dos produtos da Gendoc
• Cansei de perder tempo configurando ambiente.
![Page 3: Vagrant](https://reader035.vdocuments.pub/reader035/viewer/2022062418/5565a1e4d8b42a083a8b47b8/html5/thumbnails/3.jpg)
Agenda
• Visão Geral do Problema
• Vagrant
• O que é?
• Porque utilizar?
• “Hello World” Vagrant
• VagrantFile
• Boxes
• Provisioners
• Dicas Rápidas
• Dúvidas?
![Page 4: Vagrant](https://reader035.vdocuments.pub/reader035/viewer/2022062418/5565a1e4d8b42a083a8b47b8/html5/thumbnails/4.jpg)
Num mundo ideal seria assim:$git clone https://git.gendoc.com.br/Projeto$RUN
O QuickTime™ e umGIF descompressor
são necessários para ver esta imagem.
Os problemas!
Codar!
![Page 5: Vagrant](https://reader035.vdocuments.pub/reader035/viewer/2022062418/5565a1e4d8b42a083a8b47b8/html5/thumbnails/5.jpg)
$git clone https://git.gendoc.com.br/Projeto
...Lê a documentação (Quando existe)
$mkdir, cp, install, vim...
...pergunta para o chefe
$./projeto/.pasta_oculta/bin/magia_negra --fix_rebimboca --fix_esner --qualquer_outro_parametro_nao_documentado=CONSTANTE_MAGICA_42
...P#t$QueOPariuFilhoDaP*tDoC$r#lh*QueNaoFunciona
...1 semana depois
$RUNO QuickTime™ e umGIF descompressor
são necessários para ver esta imagem.
Os problemas!Como Realmente acontece:
E, finalmente, Codar!
![Page 6: Vagrant](https://reader035.vdocuments.pub/reader035/viewer/2022062418/5565a1e4d8b42a083a8b47b8/html5/thumbnails/6.jpg)
E não funciona!
Seu ambiente de trabalho é diferente do Servidor!
‣S.O. Diferente...
‣Versão Diferente do Python/PHP/Rails...
‣Versões diferentes dos Pacotes...
Mas na minha maquina Funciona?!
Os problemas!
O QuickTime™ e umGIF descompressor
são necessários para ver esta imagem.
Publica a funcionalidade em produção:
![Page 7: Vagrant](https://reader035.vdocuments.pub/reader035/viewer/2022062418/5565a1e4d8b42a083a8b47b8/html5/thumbnails/7.jpg)
Vagrant significa:
•Indivíduo sem Residencia fixa ou trabalho regular que vaga de lugar em lugar e Vive de esmolas.
•Mendigo
•Programador?!
Vagrant
![Page 8: Vagrant](https://reader035.vdocuments.pub/reader035/viewer/2022062418/5565a1e4d8b42a083a8b47b8/html5/thumbnails/8.jpg)
•Por Linha de comando (Não tenha medo do Terminal)
•Roda diferentes sistemas operacionais
•Define maquinas virtuais por código (Ruby)
•Criado por Mitch Hashimoto and John Bender(Primeiro commit Jan/2010)
•Integra com VirtualBox nativamente e com VMWare Fusion e AWS através de Plugins
•Aceita Plugins
E o que é o Vagrant?Vagrant é uma ferramenta de gerenciamento de Máquinas
Virtuais
![Page 9: Vagrant](https://reader035.vdocuments.pub/reader035/viewer/2022062418/5565a1e4d8b42a083a8b47b8/html5/thumbnails/9.jpg)
•Não gasta tempo do desenvolvedor configurando ambiente de desenvolvimento, a box com o projeto já vem pronta!
•Maximiza a paridade entre o ambiente de Desenvolvimento e de Produção
•Acaba com o “Mas na minha máquina funciona”
Porque Vagrant?
![Page 10: Vagrant](https://reader035.vdocuments.pub/reader035/viewer/2022062418/5565a1e4d8b42a083a8b47b8/html5/thumbnails/10.jpg)
O QuickTime™ e umGIF descompressor
são necessários para ver esta imagem.
![Page 11: Vagrant](https://reader035.vdocuments.pub/reader035/viewer/2022062418/5565a1e4d8b42a083a8b47b8/html5/thumbnails/11.jpg)
•Descreve a VM através de códigos
•Pode existir um VagrantFile por Projeto e nele podem existir mutiplas VM’s
•Pode ser versionado
VagrantFile
![Page 12: Vagrant](https://reader035.vdocuments.pub/reader035/viewer/2022062418/5565a1e4d8b42a083a8b47b8/html5/thumbnails/12.jpg)
•VM’s encapsuladas junto com um VagrantFile e um Json com informações do Provider (VirtualBox, Vmware, AWS, etc.)
•http://www.vagrantbox.es/
Boxes
![Page 13: Vagrant](https://reader035.vdocuments.pub/reader035/viewer/2022062418/5565a1e4d8b42a083a8b47b8/html5/thumbnails/13.jpg)
•Centralização das Configurações, Instalações de bibliotecas e pacotes, Controle das versões dessas bibliotecas e pacotes instalados.
•Pode ser a garantia de que o ambiente local de todos os desenvolvedores estão iguais entre eles e com o servidor de produção
•Pode ser feita através do Puppet, do Chef, do Ansible, ou até mesmo através de scripts personalizados e versionados junto com o VagrantFile
Provisioners
![Page 14: Vagrant](https://reader035.vdocuments.pub/reader035/viewer/2022062418/5565a1e4d8b42a083a8b47b8/html5/thumbnails/14.jpg)
•O Vagrant não é mais uma Gem do RubyGems
•Instale o Vagrant a partir do download do Site (http://vagrantup.com)
•Você precisa do Fornecedor das vms instalado (VirtualBox, VMWare, AWS, etc.)
•Se você já está com a versão 1.0.x instalada, a migração para o 1.1+ tem um truque, é necessário inserir o Metadata.json nas vm’s existentes. Aqui está a solução: http://www.wizonesolutions.com/2013/04/18/fixing-the-box-could-not-be-found-in-the-new-vagrant-1-1/
•Atualizar o VirtualBox Guest Adittions por ser complicado, para isso existe um plugin vagrant-vbguest, mas ainda não é compativel com o Vagrant 1.1+.
•Alterar o tamanho da memória ram da VM: config.vm.customize ["modifyvm", :id, "--memory", 1024]
Dicas Rápidas
![Page 15: Vagrant](https://reader035.vdocuments.pub/reader035/viewer/2022062418/5565a1e4d8b42a083a8b47b8/html5/thumbnails/15.jpg)
Duvidas?
O QuickTime™ e umGIF descompressor
são necessários para ver esta imagem.
![Page 16: Vagrant](https://reader035.vdocuments.pub/reader035/viewer/2022062418/5565a1e4d8b42a083a8b47b8/html5/thumbnails/16.jpg)
•https://twitter.com/focezar - @focezar
•https://github.com/focezar
•https://github.com/gendoc
•http://www.slideshare.net/focezar
•Procure por focezar nas Redes Sociais, menos no Facebook!
Obrigado!