Vagrant

  • 148 views
Uploaded on

 

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
148
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
1
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide
  • http://files.vagrantup.com/lucid64.box

Transcript

  • 1. VagrantSeu ambiente de desenvolvimento “descolado”
  • 2. 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 daGendoc• Cansei de perder tempo configurando ambiente.
  • 3. Agenda• Visão Geral do Problema• Vagrant• O que é?• Porque utilizar?• “Hello World” Vagrant• VagrantFile• Boxes• Provisioners• Dicas Rápidas• Dúvidas?
  • 4. Num mundo ideal seria assim:$git clone https://git.gendoc.com.br/Projeto$RUNO QuickTime™ e umGIF descompressorsão necessários para ver esta imagem.Os problemas!Codar!
  • 5. $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 descompressorsão necessários para ver esta imagem.Os problemas!Como Realmente acontece:E, finalmente, Codar!
  • 6. 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 descompressorsão necessários para ver esta imagem.Publica a funcionalidade em produção:
  • 7. Vagrant significa:•Indivíduo sem Residenciafixa ou trabalho regularque vaga de lugar emlugar e Vive de esmolas.•Mendigo•Programador?!Vagrant
  • 8. •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 AWSatravés de Plugins•Aceita PluginsE o que é o Vagrant?Vagrant é uma ferramenta degerenciamento de Máquinas Virtuais
  • 9. •Não gasta tempo do desenvolvedor configurandoambiente de desenvolvimento, a box com o projeto jávem pronta!•Maximiza a paridade entre o ambiente deDesenvolvimento e de Produção•Acaba com o “Mas na minha máquina funciona”Porque Vagrant?
  • 10. O QuickTime™ e umGIF descompressorsão necessários para ver esta imagem.
  • 11. •Descreve a VM através de códigos•Pode existir um VagrantFile por Projeto e nele podemexistir mutiplas VM’s•Pode ser versionadoVagrantFile
  • 12. •VM’s encapsuladas junto com um VagrantFile e umJson com informações do Provider (VirtualBox, Vmware,AWS, etc.)•http://www.vagrantbox.es/Boxes
  • 13. •Centralização das Configurações, Instalações debibliotecas e pacotes, Controle das versões dessasbibliotecas e pacotes instalados.•Pode ser a garantia de que o ambiente local de todosos desenvolvedores estão iguais entre eles e com oservidor de produção•Pode ser feita através do Puppet, do Chef, do Ansible,ou até mesmo através de scripts personalizados eversionados junto com o VagrantFileProvisioners
  • 14. •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+ temum truque, é necessário inserir o Metadata.json nas vm’s existentes. Aquiestá 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 existeum plugin vagrant-vbguest, mas ainda não é compativel com o Vagrant1.1+.•Alterar o tamanho da memória ram da VM: config.vm.customize["modifyvm", :id, "--memory", 1024]Dicas Rápidas
  • 15. Duvidas?O QuickTime™ e umGIF descompressorsão necessários para ver esta imagem.
  • 16. •fernando@gendoc.com.br•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!