20
DESENVOLVIMENTO PHP COM VAGRANT Rogério Prado de Jesus 7Masters PHP - iMasters Janeiro 2013

Desenvolvimento PHP com Vagrant - 7Masters PHP

Embed Size (px)

DESCRIPTION

Apresentação feita no dia 30 de janeiro de 2012 no evento 7Masters, do iMasters.

Citation preview

Page 1: Desenvolvimento PHP com Vagrant - 7Masters PHP

DESENVOLVIMENTO PHP COM VAGRANT

Rogério Prado de Jesus7Masters PHP - iMasters

Janeiro 2013

Page 2: Desenvolvimento PHP com Vagrant - 7Masters PHP

QUEM SOU EU?

•@rogeriopradoj - Rogério Prado de Jesus

• PHP desde 2009

• blog: rogeriopradoj.com

• Grupo de usuários:

Page 3: Desenvolvimento PHP com Vagrant - 7Masters PHP

QUEM SOU EU?•@rogeriopradoj - Rogério Prado de Jesus

• Comunidade -> leva à evolução

• eventos

• contribuições

• bate-papo

Page 4: Desenvolvimento PHP com Vagrant - 7Masters PHP

EVOLUÇÃO DO AMBIENTE DESENVOLVIMENTO

não sabe que pode separar os ambientes...

desenvolve direto em produção...

grande chance de quebrar o sistema enquanto o cliente

está usando...

“me passa a senha do FTP que já

corrijo lá...”

Page 5: Desenvolvimento PHP com Vagrant - 7Masters PHP

EVOLUÇÃO DO AMBIENTE DESENVOLVIMENTO

aprende que pode separar a produção do desenvolvimento...

instala os softwares no próprio computador...

pacotes facilitam:XAMPP, WAMP, MAMP...

Page 6: Desenvolvimento PHP com Vagrant - 7Masters PHP

EVOLUÇÃO DO AMBIENTE DESENVOLVIMENTO

computador começa a ficar lento...

projetos diferentes exigem softwares diferentes... para não faltar nada,

tudo é instalado...

conflitos entre diferentes versões...

Page 7: Desenvolvimento PHP com Vagrant - 7Masters PHP

QUEM NUNCA?

Ou você fez um sistema baseado nas Web standards,

e o cliente usa IE6...

... ou o sistema só funciona no seu ambiente!

Pode ocorrer tanto na produção...

...quanto com seus colegas de desenvolvimento...

...se esses ambientes forem divergenteshttp://vidadesuporte.com.br/

Page 8: Desenvolvimento PHP com Vagrant - 7Masters PHP

EVOLUÇÃO DO AMBIENTE DESENVOLVIMENTO

É aí que entra a virtualização!!!

Page 9: Desenvolvimento PHP com Vagrant - 7Masters PHP

VIRTUALIZAÇÃO

Elimina os conflitos

Permite criar

ambientes...

...leves......reproduzíveis... ... e portatéis!

Page 10: Desenvolvimento PHP com Vagrant - 7Masters PHP

VIRTUALIZAÇÃOBaseada em

3 pilares:

Hardware

Sistema Operacional

Softwares

Page 11: Desenvolvimento PHP com Vagrant - 7Masters PHP

VIRTUALIZAÇÃO

Exemplo de umaVM com 21GB

Manualmente ainda é trabalhoso...

... ter que tomar TODAS as decisões dos 3 pilares da VM (HW, SO e SWs)...

... é portátil, mas nem tanto...

Page 12: Desenvolvimento PHP com Vagrant - 7Masters PHP

VAGRANT

• Ferramenta para agilizar configuração de seu ambiente de desenvolvimento

• Baseado em Virtualização

Aí que entra o Vagrant!

É possível instalar noWindows, Mac, Linux, BSD...

Ex-garoto propaganda do Vagrant

Page 13: Desenvolvimento PHP com Vagrant - 7Masters PHP

VAGRANT• Oracle VirtualBox (Boxes)

• Provisionamento (configuração e instalação)

• Puppet

• Chef

• Shell

• Melhora a paridade entre os ambientes dev e prod

Junta a configuração do HW e do SO

Automatiza ainstalação/configuração dos SWs

Ideal da VM, agora muito mais simples

Page 14: Desenvolvimento PHP com Vagrant - 7Masters PHP

VAGRANT: COMO?•Oracle VirtualBox (Boxes)

lista mantida pela comunidade

prontas para usar

Page 15: Desenvolvimento PHP com Vagrant - 7Masters PHP

VAGRANT: COMO?• Puppet e Chef

Busquem o máximo aquiUm pouco

aqui

Dois brasileiros que sabem muito! (já tem

muitos outros, é que eles começaram)

Lista oficial de provisionamento PuppetLista oficial de

provisionamento Chef

Page 16: Desenvolvimento PHP com Vagrant - 7Masters PHP

COMANDOS

• vagrant --help

• vagrant init

• vagrant up

Lista todos ossubcomandos

Cria um arquivo Vagrantfile na pasta

Vagrantfile é o arquivo que define configuração projeto

“Sobe” o ambiente com as definições

do VagrantfileProvavelmente o

comando mais usado ;-)

nesse slide só tem alguns

Page 17: Desenvolvimento PHP com Vagrant - 7Masters PHP

DEMO

Exemplos de Vagrantfiles

https://github.com/marcusesa/loteria-api

https://github.com/rogeriopradoj/vagrant-chef-php-apache-sqlite

https://github.com/rogeriopradoj/base-php-codingdojo-vagrant

https://github.com/pyrocms/devops-vagrant

Provisionamento com Puppet

Provisionamento com Chef

Provisionamento com Shell Script

Múltiplas VMs paralelas, Provisionamento com Puppet

https://github.com/rogeriopradoj/symfony2-vagrant-phpconfbrasil2012Box com provisionamento já empacotado

Page 18: Desenvolvimento PHP com Vagrant - 7Masters PHP

QUEM USA

Page 19: Desenvolvimento PHP com Vagrant - 7Masters PHP

MAIS?

http://friendsofvagrant.github.com/

http://vagrantup.com/

Documentação oficial

Tradução pt_BRda documentação oficial

em andamento

Usem

vocês também podem ajudar!!!Ativo!!!

Page 20: Desenvolvimento PHP com Vagrant - 7Masters PHP

OBRIGADO!

• about.me/rogeriopradoj