Upload
rogerio-prado-de-jesus
View
2.536
Download
3
Embed Size (px)
DESCRIPTION
Palestra apresentada na PHP Conference Brasil 2012. Mais informações: - http://www.phpconference.com.br/presentations/show/id/98 - https://joind.in/talk/view/7734
Citation preview
DESENVOLVIMENTO PHP COM VAGRANT
Rogério Prado de JesusPHP Conference Brasil
Novembro 2012
QUEM SOU EU?
•@rogeriopradoj - Rogério Prado de Jesus
• PHP desde 2009
• blog: rogeriopradoj.com
• Grupo de usuários:
@duodraco
http://duodra.co/post/desenvolvimento-php-usando-maquinas-virtuais-fastcgi-fpm/
Escreveu artigo muito interessante...
...que infelizmente não funcionou para mim, nem para alguns outros leitores...
http://duodra.co/post/desenvolvimento-php-usando-maquinas-virtuais-fastcgi-fpm/#comment-691173561
sigam esse cara! sigam esse grupo!
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á...”
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...
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...
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/
EVOLUÇÃO DO AMBIENTE DESENVOLVIMENTO
É aí que entra a virtualização!!!
VIRTUALIZAÇÃO
Elimina os conflitos
Permite criar
ambientes...
...leves......reproduzíveis... ... e portatéis!
VIRTUALIZAÇÃOBaseada em
3 pilares:
Hardware
Sistema Operacional
Softwares
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...
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...
VAGRANT
•Oracle VirtualBox (Boxes)
• Provisionamento (configuração e instalação)
• Puppet
• Chef
•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
VAGRANT: COMO?•Oracle VirtualBox (Boxes)
lista mantida pela comunidade
prontas para usar
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
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
DEMO
https://github.com/rogeriopradoj/vagrant-php-dev-box
https://github.com/rogeriopradoj/vagrant-basic-chef
https://github.com/iMastersDev/oportunidades
Garoto propaganda do Vagrant
Exemplos de Vagrantfiles
QUEM USA
Eu também...
...+ um monte de gente na
PHP Conf 2012 e na comunidade!
E você?!
MAIS?
http://friendsofvagrant.github.com/
http://vagrant.rogeriopradoj.com/
http://vagrantup.com/
Documentação oficial
Início tradução pt_BR
Tradução pt_BRda documentação oficial
pela comunidade
obsoleto
Usem
vocês também podem ajudar!!!Ativo!!!
REFERÊNCIAS
• https://joind.in/talk/view/7734
• http://www.phpconference.com.br/presentations/show/id/98
• http://duodra.co/post/desenvolvimento-php-usando-maquinas-virtuais-fastcgi-fpm/
• http://vagrantup.com/
• http://www.vagrantbox.es/
• https://github.com/EHER/my-puppet
• http://eltonminetto.net/2012/04/02/usando-o-vagrant-para-criar-maquinas-virtuais-para-desenvolvimento-e-testes/
• https://github.com/opscode-cookbooks
• http://forge.puppetlabs.com/
• https://github.com/rogeriopradoj/vagrant-basic-chef
• https://github.com/rogeriopradoj/vagrant-php-dev-box
• https://github.com/iMastersDev/oportunidades
• http://vagrant.rogeriopradoj.com/
• http://friendsofvagrant.github.com/
• http://rogeriopradoj.com/
• http://about.me/rogeriopradoj