Upload
rogerio-prado-de-jesus
View
1.622
Download
1
Embed Size (px)
DESCRIPTION
Apresentação feita no dia 30 de janeiro de 2012 no evento 7Masters, do iMasters.
Citation preview
DESENVOLVIMENTO PHP COM VAGRANT
Rogério Prado de Jesus7Masters PHP - iMasters
Janeiro 2013
QUEM SOU EU?
•@rogeriopradoj - Rogério Prado de Jesus
• PHP desde 2009
• blog: rogeriopradoj.com
• Grupo de usuários:
QUEM SOU EU?•@rogeriopradoj - Rogério Prado de Jesus
• Comunidade -> leva à evolução
• eventos
• contribuições
• bate-papo
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...
Ex-garoto propaganda do Vagrant
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
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
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
QUEM USA
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!!!