vagrant

Post on 27-May-2015

166 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

VagrantSeu ambiente de desenvolvimento

“descolado”

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.

Agenda

• Visão Geral do Problema

• Vagrant

• O que é?

• Porque utilizar?

• “Hello World” Vagrant

• VagrantFile

• Boxes

• Provisioners

• Dicas Rápidas

• Dúvidas?

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!

$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!

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:

Vagrant significa:

•Indivíduo sem Residencia fixa ou trabalho regular que vaga de lugar em lugar e Vive de esmolas.

•Mendigo

•Programador?!

Vagrant

•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

•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?

O QuickTime™ e umGIF descompressor

são necessários para ver esta imagem.

•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

•VM’s encapsuladas junto com um VagrantFile e um Json com informações do Provider (VirtualBox, Vmware, AWS, etc.)

•http://www.vagrantbox.es/

Boxes

•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

•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

Duvidas?

O QuickTime™ e umGIF descompressor

são necessários para ver esta imagem.

•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!

top related