SlideShare une entreprise Scribd logo
1  sur  20
Télécharger pour lire hors ligne
DESENVOLVIMENTO PHP
    COM VAGRANT
      Rogério Prado de Jesus
     7Masters 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
                    “me passa a senha
não sabe que pode     do FTP que já
    separar os         corrijo lá...”
   ambientes...


     desenvolve      grande chance de
     direto em       quebrar o sistema
     produção...     enquanto o cliente
                       está usando...
EVOLUÇÃO DO AMBIENTE
  DESENVOLVIMENTO
                   aprende que pode separar a
                 produção do desenvolvimento...




instala os softwares no         pacotes facilitam:
 próprio computador...        XAMPP, WAMP, MAMP...
EVOLUÇÃO DO AMBIENTE
  DESENVOLVIMENTO
    projetos diferentes exigem
                                   para não faltar nada,
      softwares diferentes...
                                    tudo é instalado...




computador começa a                 conflitos entre
    ficar lento...                diferentes versões...
Ou você fez um sistema                               ... ou o sistema
baseado nas Web standards,                             só funciona no
    e o cliente usa IE6...                              seu ambiente!

                                         Pode ocorrer tanto na
                                              produção...
                                          ...quanto com seus colegas
                                              de desenvolvimento...
                                                   ...se esses ambientes
          http://vidadesuporte.com.br/               forem divergentes

           QUEM NUNCA?
EVOLUÇÃO DO AMBIENTE
  DESENVOLVIMENTO
      É aí que entra a
       virtualização!!!
VIRTUALIZAÇÃO

 Permite                                    Elimina os
  criar                                      conflitos
ambientes...




     ...leves...
                      ...reproduzíveis...
                                            ... e portatéis!
VIRTUALIZAÇÃO
                             Baseada em
                              3 pilares:


Hardware

                Sistema
               Operacional

                                  Softwares
VIRTUALIZAÇÃO
                          Manualmente ainda
                            é trabalhoso...

                                         ... ter que tomar
                                        TODAS as decisões
                                        dos 3 pilares da VM
Exemplo de uma
 VM com 21GB                            (HW, SO e SWs)...


                 ... é portátil, mas
                     nem tanto...
Aí que entra o
     Vagrant!           VAGRANT

• Ferramentapara agilizar configuração de seu ambiente de
 desenvolvimento

• Baseado   em Virtualização                  É possível instalar no
                                            Windows, Mac, Linux, BSD...
                     Ex-garoto propaganda
                          do Vagrant
Junta a configuração
VAGRANT                                     do HW e do SO

•   Oracle VirtualBox (Boxes)

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

    •   Puppet
                                          Automatiza a
    •   Chef                    instalação/configuração dos SWs
    •   Shell

•   Melhora a paridade entre os ambientes dev e prod

                           Ideal da VM, agora muito mais simples
VAGRANT: COMO?
                                prontas para usar
• Oracle VirtualBox   (Boxes)




 lista mantida pela
     comunidade
VAGRANT: COMO?
    Busquem o máximo aqui
                                                Um pouco
• Puppet   e Chef                                 aqui




                                   Dois brasileiros que
                                   sabem muito! (já tem
                                     muitos outros, é que eles
                                           começaram)




                                 Lista oficial de
         Lista oficial de
                            provisionamento Puppet
     provisionamento Chef
COMANDOS

                         Lista todos os
• vagrant   --help       subcomandos        nesse slide só tem alguns



                                                  Vagrantfile é o arquivo que
                       Cria um arquivo            define configuração projeto
• vagrant   init      Vagrantfile na pasta



• vagrant
                     “Sobe” o ambiente
            up
                      com as definições         Provavelmente o
                        do Vagrantfile       comando mais usado ;-)
DEMO
                                                      Exemplos de
                                                       Vagrantfiles
Provisionamento com Puppet
 https://github.com/marcusesa/loteria-api
Provisionamento com Chef

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

 https://github.com/rogeriopradoj/base-php-codingdojo-vagrant
Múltiplas VMs paralelas, Provisionamento com Puppet

 https://github.com/pyrocms/devops-vagrant
Box com provisionamento já empacotado
 https://github.com/rogeriopradoj/symfony2-vagrant-phpconfbrasil2012
QUEM USA
MAIS?
Documentação
   oficial
            http://vagrantup.com/

Usem       http://friendsofvagrant.github.com/

                   Tradução pt_BR                  vocês
                                                 também
               da documentação oficial             podem
Ativo!!!           em andamento                   ajudar!!!
OBRIGADO!



• about.me/rogeriopradoj

Contenu connexe

Tendances

Cooler
CoolerCooler
Coolerawtrix
 
Sim, existe vida além do FTP!
Sim, existe vida além do FTP!Sim, existe vida além do FTP!
Sim, existe vida além do FTP!Gustavo Pereira
 
Javascript é fã do Python
Javascript é fã do PythonJavascript é fã do Python
Javascript é fã do PythonFábio M. Costa
 
Meetup DevOps - Superestimando a Automação
Meetup DevOps - Superestimando a AutomaçãoMeetup DevOps - Superestimando a Automação
Meetup DevOps - Superestimando a AutomaçãoFábio José Moraes
 
Faça seu próprio servidor pirata com OpenVZ
Faça seu próprio servidor pirata com OpenVZFaça seu próprio servidor pirata com OpenVZ
Faça seu próprio servidor pirata com OpenVZRicardo Bánffy
 
Como usar o virtualbox-passo a passo
Como usar o virtualbox-passo a passoComo usar o virtualbox-passo a passo
Como usar o virtualbox-passo a passoDécio Araújo
 
Lições aprendidas sobre transações em microsserviços
Lições aprendidas sobre transações em microsserviçosLições aprendidas sobre transações em microsserviços
Lições aprendidas sobre transações em microsserviçosFábio José Moraes
 
Tutorial máquina virtual
Tutorial   máquina virtualTutorial   máquina virtual
Tutorial máquina virtualOdarkpure
 
Como instalar o Ubuntu 10.10 Maverick Meerkat
Como instalar o Ubuntu 10.10 Maverick MeerkatComo instalar o Ubuntu 10.10 Maverick Meerkat
Como instalar o Ubuntu 10.10 Maverick MeerkatPaulo Guimarães
 
Instalação e uso do phpVirtualBox
Instalação e uso do phpVirtualBoxInstalação e uso do phpVirtualBox
Instalação e uso do phpVirtualBoxnetinhoteixeira
 
Devshare - Automatizando tarefas de javascript com GruntJS
Devshare  - Automatizando tarefas de javascript com GruntJSDevshare  - Automatizando tarefas de javascript com GruntJS
Devshare - Automatizando tarefas de javascript com GruntJSRafael Lyra
 
A Experiência (e a falta dela) em Linux como usuário comum
A Experiência (e a falta dela) em Linux como usuário comumA Experiência (e a falta dela) em Linux como usuário comum
A Experiência (e a falta dela) em Linux como usuário comumLuiz Henrique Rauber Rodrigues
 
Projeto para a faculdade? Canivete Python resolve!
Projeto para a faculdade? Canivete Python resolve!Projeto para a faculdade? Canivete Python resolve!
Projeto para a faculdade? Canivete Python resolve!Guilherme Medeiros
 
Aplicação Distribuída com Docker Swarm (Meetup GruPy-SP)
Aplicação Distribuída com Docker Swarm (Meetup GruPy-SP)Aplicação Distribuída com Docker Swarm (Meetup GruPy-SP)
Aplicação Distribuída com Docker Swarm (Meetup GruPy-SP)Wellington Silva
 
Comparação de dual boot e virtualização
Comparação de dual boot e virtualizaçãoComparação de dual boot e virtualização
Comparação de dual boot e virtualizaçãoClara Bená
 

Tendances (18)

Cooler
CoolerCooler
Cooler
 
Sim, existe vida além do FTP!
Sim, existe vida além do FTP!Sim, existe vida além do FTP!
Sim, existe vida além do FTP!
 
Javascript é fã do Python
Javascript é fã do PythonJavascript é fã do Python
Javascript é fã do Python
 
Meetup DevOps - Superestimando a Automação
Meetup DevOps - Superestimando a AutomaçãoMeetup DevOps - Superestimando a Automação
Meetup DevOps - Superestimando a Automação
 
Faça seu próprio servidor pirata com OpenVZ
Faça seu próprio servidor pirata com OpenVZFaça seu próprio servidor pirata com OpenVZ
Faça seu próprio servidor pirata com OpenVZ
 
Como usar o virtualbox-passo a passo
Como usar o virtualbox-passo a passoComo usar o virtualbox-passo a passo
Como usar o virtualbox-passo a passo
 
Lições aprendidas sobre transações em microsserviços
Lições aprendidas sobre transações em microsserviçosLições aprendidas sobre transações em microsserviços
Lições aprendidas sobre transações em microsserviços
 
Como instalar tudo em ubuntu
Como instalar tudo em ubuntuComo instalar tudo em ubuntu
Como instalar tudo em ubuntu
 
Tutorial máquina virtual
Tutorial   máquina virtualTutorial   máquina virtual
Tutorial máquina virtual
 
Como instalar o Ubuntu 10.10 Maverick Meerkat
Como instalar o Ubuntu 10.10 Maverick MeerkatComo instalar o Ubuntu 10.10 Maverick Meerkat
Como instalar o Ubuntu 10.10 Maverick Meerkat
 
A Experiência (e a falta dela) como usuário comum
A Experiência (e a falta dela) como usuário comumA Experiência (e a falta dela) como usuário comum
A Experiência (e a falta dela) como usuário comum
 
Instalação e uso do phpVirtualBox
Instalação e uso do phpVirtualBoxInstalação e uso do phpVirtualBox
Instalação e uso do phpVirtualBox
 
Devshare - Automatizando tarefas de javascript com GruntJS
Devshare  - Automatizando tarefas de javascript com GruntJSDevshare  - Automatizando tarefas de javascript com GruntJS
Devshare - Automatizando tarefas de javascript com GruntJS
 
A Experiência (e a falta dela) em Linux como usuário comum
A Experiência (e a falta dela) em Linux como usuário comumA Experiência (e a falta dela) em Linux como usuário comum
A Experiência (e a falta dela) em Linux como usuário comum
 
Projeto para a faculdade? Canivete Python resolve!
Projeto para a faculdade? Canivete Python resolve!Projeto para a faculdade? Canivete Python resolve!
Projeto para a faculdade? Canivete Python resolve!
 
Aplicação Distribuída com Docker Swarm (Meetup GruPy-SP)
Aplicação Distribuída com Docker Swarm (Meetup GruPy-SP)Aplicação Distribuída com Docker Swarm (Meetup GruPy-SP)
Aplicação Distribuída com Docker Swarm (Meetup GruPy-SP)
 
Windows 7,8,10
Windows 7,8,10Windows 7,8,10
Windows 7,8,10
 
Comparação de dual boot e virtualização
Comparação de dual boot e virtualizaçãoComparação de dual boot e virtualização
Comparação de dual boot e virtualização
 

Similaire à Desenvolvimento PHP com Vagrant - 7Masters PHP

Vagrant - ambiente de desenvolvimento virtualizado
Vagrant - ambiente de desenvolvimento virtualizadoVagrant - ambiente de desenvolvimento virtualizado
Vagrant - ambiente de desenvolvimento virtualizadoVinícius Krolow
 
JS Experience 2017 - Utilizando a virtualização para simplificar o desenvolvi...
JS Experience 2017 - Utilizando a virtualização para simplificar o desenvolvi...JS Experience 2017 - Utilizando a virtualização para simplificar o desenvolvi...
JS Experience 2017 - Utilizando a virtualização para simplificar o desenvolvi...iMasters
 
Vagrant uma ferramenta realmente útil e versátil
Vagrant   uma ferramenta realmente útil e versátilVagrant   uma ferramenta realmente útil e versátil
Vagrant uma ferramenta realmente útil e versátilWanderlei Silva do Carmo
 
Desmistificando um Ambiente de Desenvolvimento WEB com Vagrant
Desmistificando um Ambiente de Desenvolvimento WEB com VagrantDesmistificando um Ambiente de Desenvolvimento WEB com Vagrant
Desmistificando um Ambiente de Desenvolvimento WEB com VagrantLuis Henrique Costa
 
Vagrant: Na sua máquina também funciona!
Vagrant: Na sua máquina também funciona!Vagrant: Na sua máquina também funciona!
Vagrant: Na sua máquina também funciona!Glauton Vieira
 
Construção e provisionamento de ambientes de desenvolvimento virtualizados
Construção e provisionamento de ambientes  de desenvolvimento virtualizadosConstrução e provisionamento de ambientes  de desenvolvimento virtualizados
Construção e provisionamento de ambientes de desenvolvimento virtualizadosThiago Rodrigues
 
PHP Experience 2016 - [Palestra] Vagrant, LXC, Docker, etc: Entenda as difere...
PHP Experience 2016 - [Palestra] Vagrant, LXC, Docker, etc: Entenda as difere...PHP Experience 2016 - [Palestra] Vagrant, LXC, Docker, etc: Entenda as difere...
PHP Experience 2016 - [Palestra] Vagrant, LXC, Docker, etc: Entenda as difere...iMasters
 
Talk no Meetup LaravelSP #3
Talk no Meetup LaravelSP #3Talk no Meetup LaravelSP #3
Talk no Meetup LaravelSP #3Wellington Silva
 
UNIFAL - MySQL & Vagrant (iniciando os trabalhos)
UNIFAL - MySQL & Vagrant (iniciando os trabalhos)UNIFAL - MySQL & Vagrant (iniciando os trabalhos)
UNIFAL - MySQL & Vagrant (iniciando os trabalhos)Wagner Bianchi
 
Orchestrando na linha
Orchestrando na linhaOrchestrando na linha
Orchestrando na linhamatheuscmpm
 

Similaire à Desenvolvimento PHP com Vagrant - 7Masters PHP (14)

Vagrant - ambiente de desenvolvimento virtualizado
Vagrant - ambiente de desenvolvimento virtualizadoVagrant - ambiente de desenvolvimento virtualizado
Vagrant - ambiente de desenvolvimento virtualizado
 
JS Experience 2017 - Utilizando a virtualização para simplificar o desenvolvi...
JS Experience 2017 - Utilizando a virtualização para simplificar o desenvolvi...JS Experience 2017 - Utilizando a virtualização para simplificar o desenvolvi...
JS Experience 2017 - Utilizando a virtualização para simplificar o desenvolvi...
 
Vagrant sti
Vagrant stiVagrant sti
Vagrant sti
 
Vagrant uma ferramenta realmente útil e versátil
Vagrant   uma ferramenta realmente útil e versátilVagrant   uma ferramenta realmente útil e versátil
Vagrant uma ferramenta realmente útil e versátil
 
Desmistificando um Ambiente de Desenvolvimento WEB com Vagrant
Desmistificando um Ambiente de Desenvolvimento WEB com VagrantDesmistificando um Ambiente de Desenvolvimento WEB com Vagrant
Desmistificando um Ambiente de Desenvolvimento WEB com Vagrant
 
Vagrant: Na sua máquina também funciona!
Vagrant: Na sua máquina também funciona!Vagrant: Na sua máquina também funciona!
Vagrant: Na sua máquina também funciona!
 
Construção e provisionamento de ambientes de desenvolvimento virtualizados
Construção e provisionamento de ambientes  de desenvolvimento virtualizadosConstrução e provisionamento de ambientes  de desenvolvimento virtualizados
Construção e provisionamento de ambientes de desenvolvimento virtualizados
 
PHP Experience 2016 - [Palestra] Vagrant, LXC, Docker, etc: Entenda as difere...
PHP Experience 2016 - [Palestra] Vagrant, LXC, Docker, etc: Entenda as difere...PHP Experience 2016 - [Palestra] Vagrant, LXC, Docker, etc: Entenda as difere...
PHP Experience 2016 - [Palestra] Vagrant, LXC, Docker, etc: Entenda as difere...
 
Talk no Meetup LaravelSP #3
Talk no Meetup LaravelSP #3Talk no Meetup LaravelSP #3
Talk no Meetup LaravelSP #3
 
DevOps Primeiros Passos
DevOps Primeiros PassosDevOps Primeiros Passos
DevOps Primeiros Passos
 
UNIFAL - MySQL & Vagrant (iniciando os trabalhos)
UNIFAL - MySQL & Vagrant (iniciando os trabalhos)UNIFAL - MySQL & Vagrant (iniciando os trabalhos)
UNIFAL - MySQL & Vagrant (iniciando os trabalhos)
 
Vagrant + Puppet
Vagrant + PuppetVagrant + Puppet
Vagrant + Puppet
 
Conheça o Docker
Conheça o DockerConheça o Docker
Conheça o Docker
 
Orchestrando na linha
Orchestrando na linhaOrchestrando na linha
Orchestrando na linha
 

Plus de Rogerio Prado de Jesus

Becoming a contributor, open sourcer and beyond: PHPSP + UOL
Becoming a contributor, open sourcer and beyond: PHPSP + UOLBecoming a contributor, open sourcer and beyond: PHPSP + UOL
Becoming a contributor, open sourcer and beyond: PHPSP + UOLRogerio Prado de Jesus
 
Becoming a Contributor, Open Sourcer and Beyond
Becoming a Contributor, Open Sourcer and BeyondBecoming a Contributor, Open Sourcer and Beyond
Becoming a Contributor, Open Sourcer and BeyondRogerio Prado de Jesus
 
Be Happy With Semantic Versioning And Git Flow - PHP Conference Brasil 2012
Be Happy With Semantic Versioning And Git Flow - PHP Conference Brasil 2012Be Happy With Semantic Versioning And Git Flow - PHP Conference Brasil 2012
Be Happy With Semantic Versioning And Git Flow - PHP Conference Brasil 2012Rogerio Prado de Jesus
 
Composer para Gestão de Dependências - Encontro PHP - Season
Composer para Gestão de Dependências - Encontro PHP - SeasonComposer para Gestão de Dependências - Encontro PHP - Season
Composer para Gestão de Dependências - Encontro PHP - SeasonRogerio Prado de Jesus
 
Desenvolvimento PHP com Vagrant - TDC 2012
Desenvolvimento PHP com Vagrant - TDC 2012Desenvolvimento PHP com Vagrant - TDC 2012
Desenvolvimento PHP com Vagrant - TDC 2012Rogerio Prado de Jesus
 

Plus de Rogerio Prado de Jesus (6)

Becoming a contributor, open sourcer and beyond: PHPSP + UOL
Becoming a contributor, open sourcer and beyond: PHPSP + UOLBecoming a contributor, open sourcer and beyond: PHPSP + UOL
Becoming a contributor, open sourcer and beyond: PHPSP + UOL
 
Becoming a Contributor, Open Sourcer and Beyond
Becoming a Contributor, Open Sourcer and BeyondBecoming a Contributor, Open Sourcer and Beyond
Becoming a Contributor, Open Sourcer and Beyond
 
Vagrant Got Plugins
Vagrant Got PluginsVagrant Got Plugins
Vagrant Got Plugins
 
Be Happy With Semantic Versioning And Git Flow - PHP Conference Brasil 2012
Be Happy With Semantic Versioning And Git Flow - PHP Conference Brasil 2012Be Happy With Semantic Versioning And Git Flow - PHP Conference Brasil 2012
Be Happy With Semantic Versioning And Git Flow - PHP Conference Brasil 2012
 
Composer para Gestão de Dependências - Encontro PHP - Season
Composer para Gestão de Dependências - Encontro PHP - SeasonComposer para Gestão de Dependências - Encontro PHP - Season
Composer para Gestão de Dependências - Encontro PHP - Season
 
Desenvolvimento PHP com Vagrant - TDC 2012
Desenvolvimento PHP com Vagrant - TDC 2012Desenvolvimento PHP com Vagrant - TDC 2012
Desenvolvimento PHP com Vagrant - TDC 2012
 

Desenvolvimento PHP com Vagrant - 7Masters PHP

  • 1. DESENVOLVIMENTO PHP COM VAGRANT Rogério Prado de Jesus 7Masters PHP - iMasters Janeiro 2013
  • 2. QUEM SOU EU? • @rogeriopradoj - Rogério Prado de Jesus • PHP desde 2009 • blog: rogeriopradoj.com • Grupo de usuários:
  • 3. QUEM SOU EU? • @rogeriopradoj - Rogério Prado de Jesus • Comunidade -> leva à evolução • eventos • contribuições • bate-papo
  • 4. EVOLUÇÃO DO AMBIENTE DESENVOLVIMENTO “me passa a senha não sabe que pode do FTP que já separar os corrijo lá...” ambientes... desenvolve grande chance de direto em quebrar o sistema produção... enquanto o cliente está usando...
  • 5. EVOLUÇÃO DO AMBIENTE DESENVOLVIMENTO aprende que pode separar a produção do desenvolvimento... instala os softwares no pacotes facilitam: próprio computador... XAMPP, WAMP, MAMP...
  • 6. EVOLUÇÃO DO AMBIENTE DESENVOLVIMENTO projetos diferentes exigem para não faltar nada, softwares diferentes... tudo é instalado... computador começa a conflitos entre ficar lento... diferentes versões...
  • 7. Ou você fez um sistema ... ou o sistema baseado nas Web standards, só funciona no e o cliente usa IE6... seu ambiente! Pode ocorrer tanto na produção... ...quanto com seus colegas de desenvolvimento... ...se esses ambientes http://vidadesuporte.com.br/ forem divergentes QUEM NUNCA?
  • 8. EVOLUÇÃO DO AMBIENTE DESENVOLVIMENTO É aí que entra a virtualização!!!
  • 9. VIRTUALIZAÇÃO Permite Elimina os criar conflitos ambientes... ...leves... ...reproduzíveis... ... e portatéis!
  • 10. VIRTUALIZAÇÃO Baseada em 3 pilares: Hardware Sistema Operacional Softwares
  • 11. VIRTUALIZAÇÃO Manualmente ainda é trabalhoso... ... ter que tomar TODAS as decisões dos 3 pilares da VM Exemplo de uma VM com 21GB (HW, SO e SWs)... ... é portátil, mas nem tanto...
  • 12. Aí que entra o Vagrant! VAGRANT • Ferramentapara agilizar configuração de seu ambiente de desenvolvimento • Baseado em Virtualização É possível instalar no Windows, Mac, Linux, BSD... Ex-garoto propaganda do Vagrant
  • 13. Junta a configuração VAGRANT do HW e do SO • Oracle VirtualBox (Boxes) • Provisionamento (configuração e instalação) • Puppet Automatiza a • Chef instalação/configuração dos SWs • Shell • Melhora a paridade entre os ambientes dev e prod Ideal da VM, agora muito mais simples
  • 14. VAGRANT: COMO? prontas para usar • Oracle VirtualBox (Boxes) lista mantida pela comunidade
  • 15. VAGRANT: COMO? Busquem o máximo aqui Um pouco • Puppet e Chef aqui Dois brasileiros que sabem muito! (já tem muitos outros, é que eles começaram) Lista oficial de Lista oficial de provisionamento Puppet provisionamento Chef
  • 16. COMANDOS Lista todos os • vagrant --help subcomandos nesse slide só tem alguns Vagrantfile é o arquivo que Cria um arquivo define configuração projeto • vagrant init Vagrantfile na pasta • vagrant “Sobe” o ambiente up com as definições Provavelmente o do Vagrantfile comando mais usado ;-)
  • 17. DEMO Exemplos de Vagrantfiles Provisionamento com Puppet https://github.com/marcusesa/loteria-api Provisionamento com Chef https://github.com/rogeriopradoj/vagrant-chef-php-apache-sqlite Provisionamento com Shell Script https://github.com/rogeriopradoj/base-php-codingdojo-vagrant Múltiplas VMs paralelas, Provisionamento com Puppet https://github.com/pyrocms/devops-vagrant Box com provisionamento já empacotado https://github.com/rogeriopradoj/symfony2-vagrant-phpconfbrasil2012
  • 19. MAIS? Documentação oficial http://vagrantup.com/ Usem http://friendsofvagrant.github.com/ Tradução pt_BR vocês também da documentação oficial podem Ativo!!! em andamento ajudar!!!