SlideShare una empresa de Scribd logo
1 de 75
Descargar para leer sin conexión
Deployment & PHP
 o caminho para a automatização

       Renan de Lima
        ProPHP - Abril / 2013
Agenda
●   Definições
●   Conceitos
●   Recomendações




                 Deployment & PHP       ProPHP
                                    2013 / Abril
O que é




Deployment & PHP       ProPHP
                   2013 / Abril
O que é




Disponibilizar software para utilização!




                Deployment & PHP          ProPHP
                                      2013 / Abril
O que não é




  Deployment & PHP       ProPHP
                     2013 / Abril
O que não é
●   Validação




                  Deployment & PHP       ProPHP
                                     2013 / Abril
O que não é
●   Validação
●   Teste




                  Deployment & PHP       ProPHP
                                     2013 / Abril
O que não é
●   Validação
●   Teste
●   Empacotamento




                  Deployment & PHP       ProPHP
                                     2013 / Abril
Pré-requisitos




   Deployment & PHP       ProPHP
                      2013 / Abril
Pré-requisitos
●   Software




                  Deployment & PHP       ProPHP
                                     2013 / Abril
Pré-requisitos
●   Software
    –   git, svn, zip, phar, composer, pear, pyrus...




                        Deployment & PHP              ProPHP
                                                  2013 / Abril
Pré-requisitos
●   Software
    –   git, svn, zip, phar, composer, pear, pyrus...
●   Conhecer o software




                        Deployment & PHP              ProPHP
                                                  2013 / Abril
Pré-requisitos
●   Software
    –   git, svn, zip, phar, composer, pear, pyrus...
●   Conhecer o software
    –   Configurações necessárias




                        Deployment & PHP              ProPHP
                                                  2013 / Abril
Pré-requisitos
●   Software
    –   git, svn, zip, phar, composer, pear, pyrus...
●   Conhecer o software
    –   Configurações necessárias
●   Conhecer o ambiente destino




                        Deployment & PHP              ProPHP
                                                  2013 / Abril
Pré-requisitos
●   Software
    –   git, svn, zip, phar, composer, pear, pyrus...
●   Conhecer o software
    –   Configurações necessárias
●   Conhecer o ambiente destino
    –   Quantos são, onde estão, permissões...




                        Deployment & PHP              ProPHP
                                                  2013 / Abril
Você conhece seu software?




          Deployment & PHP       ProPHP
                             2013 / Abril
Você conhece seu software?
●   Configurações




                    Deployment & PHP       ProPHP
                                       2013 / Abril
Você conhece seu software?
●   Configurações
    –   As que não variam




                      Deployment & PHP       ProPHP
                                         2013 / Abril
Você conhece seu software?
●   Configurações
    –   As que não variam
        ●   Exemplo: diretórios de módulos, views...




                           Deployment & PHP                ProPHP
                                                       2013 / Abril
Você conhece seu software?
●   Configurações
    –   As que não variam
        ●   Exemplo: diretórios de módulos, views...
    –   As que variam conforme o ambiente




                           Deployment & PHP                ProPHP
                                                       2013 / Abril
Você conhece seu software?
●   Configurações
    –   As que não variam
        ●   Exemplo: diretórios de módulos, views...
    –   As que variam conforme o ambiente
        ●   Exemplo: credenciais de banco, cache...




                           Deployment & PHP                ProPHP
                                                       2013 / Abril
Você conhece seu software?
●   Configurações
    –   As que não variam
        ●   Exemplo: diretórios de módulos, views...
    –   As que variam conforme o ambiente
        ●   Exemplo: credenciais de banco, cache...
        ●   Precisam ser parametrizadas no deploy!




                           Deployment & PHP                ProPHP
                                                       2013 / Abril
Você conhece seu ambiente?




          Deployment & PHP       ProPHP
                             2013 / Abril
Você conhece seu ambiente?
●   Instâncias




                 Deployment & PHP       ProPHP
                                    2013 / Abril
Você conhece seu ambiente?
●   Instâncias
    –   Uma, várias...
        ●   Se são várias, possui cluster manager?




                           Deployment & PHP              ProPHP
                                                     2013 / Abril
Você conhece seu ambiente?
●   Instâncias
    –   Uma, várias...
        ●   Se são várias, possui cluster manager?
●   Administração




                           Deployment & PHP              ProPHP
                                                     2013 / Abril
Você conhece seu ambiente?
●   Instâncias
    –   Uma, várias...
        ●   Se são várias, possui cluster manager?
●   Administração
    –   Que permissões você possui no servidor?
        ●   Escrita/leitura, execução de binários, acesso à
            internet...




                           Deployment & PHP                 ProPHP
                                                        2013 / Abril
Visão Geral


                                Ambiente




Software




             Deployment & PHP                  ProPHP
                                           2013 / Abril
Visão Geral


                                Ambiente




Software




             Deployment & PHP                  ProPHP
                                           2013 / Abril
Visão Geral




               ?
                                Ambiente




Software




             Deployment & PHP                  ProPHP
                                           2013 / Abril
Visão Geral


           1 - Captura
                                            Ambiente

                              ajustes




Software




                         Deployment & PHP                  ProPHP
                                                       2013 / Abril
Visão Geral


           1 - Captura
                                            Ambiente

                              ajustes




Software

                         2 - Configuração




                         Deployment & PHP                  ProPHP
                                                       2013 / Abril
Visão Geral

                                            3 - Envio


           1 - Captura
                                                        Ambiente

                              ajustes




Software

                         2 - Configuração




                         Deployment & PHP                              ProPHP
                                                                   2013 / Abril
Visão Geral

                                            3 - Envio


           1 - Captura
                                                         Ambiente

                              ajustes




Software
                                                        4 - Intervenções
                         2 - Configuração




                         Deployment & PHP                               ProPHP
                                                                    2013 / Abril
Como é o seu deploy?




       Deployment & PHP       ProPHP
                          2013 / Abril
Como é o seu deploy?
●   Geração de pacote/release




                  Deployment & PHP       ProPHP
                                     2013 / Abril
Como é o seu deploy?
●   Geração de pacote/release
    –   Conceito não existe?




                       Deployment & PHP       ProPHP
                                          2013 / Abril
Como é o seu deploy?
●   Geração de pacote/release
    –   Conceito não existe?
    –   Geração é uma ação manual?




                       Deployment & PHP       ProPHP
                                          2013 / Abril
Como é o seu deploy?
●   Geração de pacote/release
    –   Conceito não existe?
    –   Geração é uma ação manual?
●   Ajustes do software




                       Deployment & PHP       ProPHP
                                          2013 / Abril
Como é o seu deploy?
●   Geração de pacote/release
    –   Conceito não existe?
    –   Geração é uma ação manual?
●   Ajustes do software
    –   Há verificações manuais no código fonte?




                       Deployment & PHP           ProPHP
                                              2013 / Abril
Como é o seu deploy?
●   Geração de pacote/release
    –   Conceito não existe?
    –   Geração é uma ação manual?
●   Ajustes do software
    –   Há verificações manuais no código fonte?
    –   Há exagero de configurações?




                       Deployment & PHP           ProPHP
                                              2013 / Abril
Como é o seu deploy?
●   Geração de pacote/release
    –   Conceito não existe?
    –   Geração é uma ação manual?
●   Ajustes do software
    –   Há verificações manuais no código fonte?
    –   Há exagero de configurações?
●   Envio do código fonte para o servidor


                       Deployment & PHP           ProPHP
                                              2013 / Abril
Como é o seu deploy?
●   Geração de pacote/release
    –   Conceito não existe?
    –   Geração é uma ação manual?
●   Ajustes do software
    –   Há verificações manuais no código fonte?
    –   Há exagero na quantidade de configurações?
●   Envio do código fonte para o servidor
    –   É um ser humano quem faz o envio dos arquivos?



                          Deployment & PHP               ProPHP
                                                     2013 / Abril
Como é o seu deploy?
●   Geração de pacote
    –   Conceito de pacote não existe?
    –   Geração do pacote é uma ação manual?
●   Ajustes do software
    –   Há verificações manuais no código fonte?
    –   Há exagero na quantidade de configurações?
●   Envio do código fonte para o servidor
    –   É um ser humano quem faz o envio dos arquivos?



                          Deployment & PHP               ProPHP
                                                     2013 / Abril
Visão Geral

                                            3 - Envio


           1 - Captura
                                                         Ambiente

                              ajustes




Software
                                                        4 - Intervenções
                         2 - Configuração




                         Deployment & PHP                               ProPHP
                                                                    2013 / Abril
Simplifique!
 errar é humano




   Deployment & PHP       ProPHP
                      2013 / Abril
Dicas para Simplificação




         Deployment & PHP       ProPHP
                            2013 / Abril
Dicas para Simplificação
●   Construa releases utilizáveis




                    Deployment & PHP       ProPHP
                                       2013 / Abril
Dicas para Simplificação
●   Construa releases utilizáveis
●   Deixe configurável somente o necessário




                    Deployment & PHP       ProPHP
                                       2013 / Abril
Dicas para Simplificação
●   Construa releases utilizáveis
●   Deixe configurável somente o necessário
●   Exija menos customização do ambiente




                    Deployment & PHP       ProPHP
                                       2013 / Abril
Dicas para Simplificação
●   Construa releases utilizáveis
●   Deixe configurável somente o necessário
●   Exija menos customização do ambiente
    –   Extensões, bibliotecas...
    –   php.ini, variáveis de ambiente...
    –   Binários, executáveis...




                        Deployment & PHP        ProPHP
                                            2013 / Abril
Automatize!
 errar é humano




   Deployment & PHP       ProPHP
                      2013 / Abril
Dicas para Automatização




         Deployment & PHP       ProPHP
                            2013 / Abril
Dicas para Automatização
●   Simplifique o deploy




                   Deployment & PHP       ProPHP
                                      2013 / Abril
Dicas para Automatização
●   Simplifique o deploy
●   Gerencie releases elegantemente




                   Deployment & PHP       ProPHP
                                      2013 / Abril
Dicas para Automatização
●   Simplifique o deploy
●   Gerencie releases elegantemente
    –   Evite diversificar as configurações entre elas




                        Deployment & PHP             ProPHP
                                                 2013 / Abril
Dicas para Automatização
●   Simplifique o deploy
●   Gerencie releases elegantemente
    –   Evite diversificar as configurações entre elas
    –   Disponibilize-os em protocolos padrões




                        Deployment & PHP             ProPHP
                                                 2013 / Abril
Dicas para Automatização
●   Simplifique o deploy
●   Gerencie releases elegantemente
    –   Evite diversificar as configurações entre elas
    –   Disponibilize-os em protocolos padrões
        ●   Controle de versão, gerenciador de pacotes ...




                           Deployment & PHP                ProPHP
                                                       2013 / Abril
Dicas para Automatização
●   Simplifique o deploy
●   Gerencie releases elegantemente
    –   Evite diversificar as configurações entre elas
    –   Disponibilize-os em protocolos padrões
        ●   Controle de versão, gerenciador de pacotes ...
●   Deploy deve estar fora do software



                           Deployment & PHP                ProPHP
                                                       2013 / Abril
Dicas para Automatização
●   Simplifique o deploy
●   Gerencie releases elegantemente
    –   Evite diversificar as configurações entre elas
    –   Disponibilize-os em protocolos padrões
        ●   Controle de versão, gerenciador de pacotes ...
●   Deploy deve estar fora do software
    –   O ambiente pode mudar


                           Deployment & PHP                ProPHP
                                                       2013 / Abril
Visão Geral

                                            3 - Envio


           1 - Captura
                                                         Ambiente

                              ajustes




Software
                                                        4 - Intervenções
                         2 - Configuração




                         Deployment & PHP                               ProPHP
                                                                    2013 / Abril
Meta
a rotina automática deve ser capaz de manipular
      todos os release em qualquer ambiente




                  Deployment & PHP              ProPHP
                                            2013 / Abril
Visão Geral

                                            3 - Envio


           1 - Captura
                                                         Ambiente

                              ajustes




Software
                                                        4 - Intervenções
                         2 - Configuração




                         Deployment & PHP                               ProPHP
                                                                    2013 / Abril
Features Básicas
●   Deploy
●   Redeploy
●   Rollback
●   Remove




                    Deployment & PHP       ProPHP
                                       2013 / Abril
Ferramentas
●   Shell script
●   Capistrano
●   PHP Cloud
●   Zend Deployment
●   OpenShift
●   FortRabbit
●   ...

                     Deployment & PHP       ProPHP
                                        2013 / Abril
As escolhas são suas...




       Deployment & PHP       ProPHP
                          2013 / Abril
... as consequências também!




          Deployment & PHP         ProPHP
                               2013 / Abril
para refletir...




    Deployment & PHP       ProPHP
                       2013 / Abril
para refletir...
●   Não existe automatização infalível




                   Deployment & PHP          ProPHP
                                         2013 / Abril
para refletir...
●   Não existe automatização infalível
●   Seguir padrões é saudável




                   Deployment & PHP          ProPHP
                                         2013 / Abril
para refletir...
●   Não existe automatização infalível
●   Seguir padrões é saudável
    –   Em situações problemáticas, na maioria das
        vezes, você não está sozinho. A comunidade
        pode te ajudar




                      Deployment & PHP           ProPHP
                                             2013 / Abril
para refletir...
●   Não existe automatização infalível
●   Seguir padrões é saudável
    –   Em situações problemáticas, na maioria das
        vezes, você não está sozinho. A comunidade
        pode te ajudar
●   Deixe seu orgulho de lado




                      Deployment & PHP           ProPHP
                                             2013 / Abril
para refletir...
●   Não existe automatização infalível
●   Seguir padrões é saudável
    –   Em situações problemáticas, na maioria das
        vezes, você não está sozinho. A comunidade
        pode te ajudar
●   Deixe seu orgulho de lado
    –   Você pode ter tomado uma má decisão



                      Deployment & PHP            ProPHP
                                              2013 / Abril
para refletir...
●   Não existe automatização infalível
●   Seguir padrões é saudável
    –   Em situações problemáticas, na maioria das
        vezes, você não está sozinho. A comunidade
        pode te ajudar
●   Deixe seu orgulho de lado
    –   Você pode ter tomado uma má decisão
    –   Proponha melhorias

                      Deployment & PHP            ProPHP
                                              2013 / Abril
Obrigado!
     Renan de Lima

renandelima@gmail.com
http://github.com/renanbr




      Deployment & PHP          ProPHP
                            2013 / Abril

Más contenido relacionado

Similar a Automatize PHP Deploys

Treinamentos Avançados em Informática
Treinamentos Avançados em InformáticaTreinamentos Avançados em Informática
Treinamentos Avançados em InformáticaEder Carneiro
 
Google App Engine e PHP
Google App Engine e PHPGoogle App Engine e PHP
Google App Engine e PHPLuiz Messias
 
Iniciando na Programação com Python - FLISOL Paracatu 2016
Iniciando na Programação com Python - FLISOL Paracatu 2016Iniciando na Programação com Python - FLISOL Paracatu 2016
Iniciando na Programação com Python - FLISOL Paracatu 2016George Mendonça
 
Orientação a Aspectos em PHP
Orientação a Aspectos em PHPOrientação a Aspectos em PHP
Orientação a Aspectos em PHPFlávio Lisboa
 
Desenvolvimento Web com Php e jQuery
Desenvolvimento Web com Php e jQueryDesenvolvimento Web com Php e jQuery
Desenvolvimento Web com Php e jQueryFabricio Nogueira
 
PHP Turbinado com CodeIgniter - Conisli 2011
PHP Turbinado com CodeIgniter - Conisli 2011PHP Turbinado com CodeIgniter - Conisli 2011
PHP Turbinado com CodeIgniter - Conisli 2011Evaldo Junior
 
Laravel + Vue: Como começar
Laravel + Vue: Como começarLaravel + Vue: Como começar
Laravel + Vue: Como começarLeandro Ferreira
 
A Evolução do PHP - 4º Dev In Santos
A Evolução do PHP - 4º Dev In SantosA Evolução do PHP - 4º Dev In Santos
A Evolução do PHP - 4º Dev In SantosEvaldo Junior
 
Oficina de PHP - Software Freedom Day Luziânia 2013
Oficina de PHP - Software Freedom Day Luziânia 2013Oficina de PHP - Software Freedom Day Luziânia 2013
Oficina de PHP - Software Freedom Day Luziânia 2013George Mendonça
 
WordPress para Desenvolvedores - Utilizando WP como framework de desenvolvime...
WordPress para Desenvolvedores - Utilizando WP como framework de desenvolvime...WordPress para Desenvolvedores - Utilizando WP como framework de desenvolvime...
WordPress para Desenvolvedores - Utilizando WP como framework de desenvolvime...George Mendonça
 
Tutorial Django + Python
Tutorial Django + PythonTutorial Django + Python
Tutorial Django + PythonMateus Padua
 
php4android: desenvolva aplicações android em PHP
php4android: desenvolva aplicações android em PHPphp4android: desenvolva aplicações android em PHP
php4android: desenvolva aplicações android em PHPRamon Ribeiro Rabello
 
Ferramentas Livres Para Desenvolvimento com PHP
Ferramentas Livres Para Desenvolvimento com PHPFerramentas Livres Para Desenvolvimento com PHP
Ferramentas Livres Para Desenvolvimento com PHPAdler Medrado
 

Similar a Automatize PHP Deploys (20)

Treinamentos Avançados em Informática
Treinamentos Avançados em InformáticaTreinamentos Avançados em Informática
Treinamentos Avançados em Informática
 
Cursos Season
Cursos SeasonCursos Season
Cursos Season
 
Cursos Season
Cursos Season Cursos Season
Cursos Season
 
Evolucao php2
Evolucao php2Evolucao php2
Evolucao php2
 
Google App Engine e PHP
Google App Engine e PHPGoogle App Engine e PHP
Google App Engine e PHP
 
Iniciando na Programação com Python - FLISOL Paracatu 2016
Iniciando na Programação com Python - FLISOL Paracatu 2016Iniciando na Programação com Python - FLISOL Paracatu 2016
Iniciando na Programação com Python - FLISOL Paracatu 2016
 
Orientação a Aspectos em PHP
Orientação a Aspectos em PHPOrientação a Aspectos em PHP
Orientação a Aspectos em PHP
 
PHP Moderno
PHP ModernoPHP Moderno
PHP Moderno
 
Minicurso zend
Minicurso zendMinicurso zend
Minicurso zend
 
Desenvolvimento Web com Php e jQuery
Desenvolvimento Web com Php e jQueryDesenvolvimento Web com Php e jQuery
Desenvolvimento Web com Php e jQuery
 
PHP Turbinado com CodeIgniter - Conisli 2011
PHP Turbinado com CodeIgniter - Conisli 2011PHP Turbinado com CodeIgniter - Conisli 2011
PHP Turbinado com CodeIgniter - Conisli 2011
 
Laravel + Vue: Como começar
Laravel + Vue: Como começarLaravel + Vue: Como começar
Laravel + Vue: Como começar
 
A Evolução do PHP - 4º Dev In Santos
A Evolução do PHP - 4º Dev In SantosA Evolução do PHP - 4º Dev In Santos
A Evolução do PHP - 4º Dev In Santos
 
Oficina de PHP - Software Freedom Day Luziânia 2013
Oficina de PHP - Software Freedom Day Luziânia 2013Oficina de PHP - Software Freedom Day Luziânia 2013
Oficina de PHP - Software Freedom Day Luziânia 2013
 
PHP: Como não programar em POG
PHP: Como não programar em POGPHP: Como não programar em POG
PHP: Como não programar em POG
 
WordPress para Desenvolvedores - Utilizando WP como framework de desenvolvime...
WordPress para Desenvolvedores - Utilizando WP como framework de desenvolvime...WordPress para Desenvolvedores - Utilizando WP como framework de desenvolvime...
WordPress para Desenvolvedores - Utilizando WP como framework de desenvolvime...
 
Tutorial Django + Python
Tutorial Django + PythonTutorial Django + Python
Tutorial Django + Python
 
php4android: desenvolva aplicações android em PHP
php4android: desenvolva aplicações android em PHPphp4android: desenvolva aplicações android em PHP
php4android: desenvolva aplicações android em PHP
 
PHP Tools for Fast coding
PHP Tools for Fast codingPHP Tools for Fast coding
PHP Tools for Fast coding
 
Ferramentas Livres Para Desenvolvimento com PHP
Ferramentas Livres Para Desenvolvimento com PHPFerramentas Livres Para Desenvolvimento com PHP
Ferramentas Livres Para Desenvolvimento com PHP
 

Automatize PHP Deploys

  • 1. Deployment & PHP o caminho para a automatização Renan de Lima ProPHP - Abril / 2013
  • 2. Agenda ● Definições ● Conceitos ● Recomendações Deployment & PHP ProPHP 2013 / Abril
  • 3. O que é Deployment & PHP ProPHP 2013 / Abril
  • 4. O que é Disponibilizar software para utilização! Deployment & PHP ProPHP 2013 / Abril
  • 5. O que não é Deployment & PHP ProPHP 2013 / Abril
  • 6. O que não é ● Validação Deployment & PHP ProPHP 2013 / Abril
  • 7. O que não é ● Validação ● Teste Deployment & PHP ProPHP 2013 / Abril
  • 8. O que não é ● Validação ● Teste ● Empacotamento Deployment & PHP ProPHP 2013 / Abril
  • 9. Pré-requisitos Deployment & PHP ProPHP 2013 / Abril
  • 10. Pré-requisitos ● Software Deployment & PHP ProPHP 2013 / Abril
  • 11. Pré-requisitos ● Software – git, svn, zip, phar, composer, pear, pyrus... Deployment & PHP ProPHP 2013 / Abril
  • 12. Pré-requisitos ● Software – git, svn, zip, phar, composer, pear, pyrus... ● Conhecer o software Deployment & PHP ProPHP 2013 / Abril
  • 13. Pré-requisitos ● Software – git, svn, zip, phar, composer, pear, pyrus... ● Conhecer o software – Configurações necessárias Deployment & PHP ProPHP 2013 / Abril
  • 14. Pré-requisitos ● Software – git, svn, zip, phar, composer, pear, pyrus... ● Conhecer o software – Configurações necessárias ● Conhecer o ambiente destino Deployment & PHP ProPHP 2013 / Abril
  • 15. Pré-requisitos ● Software – git, svn, zip, phar, composer, pear, pyrus... ● Conhecer o software – Configurações necessárias ● Conhecer o ambiente destino – Quantos são, onde estão, permissões... Deployment & PHP ProPHP 2013 / Abril
  • 16. Você conhece seu software? Deployment & PHP ProPHP 2013 / Abril
  • 17. Você conhece seu software? ● Configurações Deployment & PHP ProPHP 2013 / Abril
  • 18. Você conhece seu software? ● Configurações – As que não variam Deployment & PHP ProPHP 2013 / Abril
  • 19. Você conhece seu software? ● Configurações – As que não variam ● Exemplo: diretórios de módulos, views... Deployment & PHP ProPHP 2013 / Abril
  • 20. Você conhece seu software? ● Configurações – As que não variam ● Exemplo: diretórios de módulos, views... – As que variam conforme o ambiente Deployment & PHP ProPHP 2013 / Abril
  • 21. Você conhece seu software? ● Configurações – As que não variam ● Exemplo: diretórios de módulos, views... – As que variam conforme o ambiente ● Exemplo: credenciais de banco, cache... Deployment & PHP ProPHP 2013 / Abril
  • 22. Você conhece seu software? ● Configurações – As que não variam ● Exemplo: diretórios de módulos, views... – As que variam conforme o ambiente ● Exemplo: credenciais de banco, cache... ● Precisam ser parametrizadas no deploy! Deployment & PHP ProPHP 2013 / Abril
  • 23. Você conhece seu ambiente? Deployment & PHP ProPHP 2013 / Abril
  • 24. Você conhece seu ambiente? ● Instâncias Deployment & PHP ProPHP 2013 / Abril
  • 25. Você conhece seu ambiente? ● Instâncias – Uma, várias... ● Se são várias, possui cluster manager? Deployment & PHP ProPHP 2013 / Abril
  • 26. Você conhece seu ambiente? ● Instâncias – Uma, várias... ● Se são várias, possui cluster manager? ● Administração Deployment & PHP ProPHP 2013 / Abril
  • 27. Você conhece seu ambiente? ● Instâncias – Uma, várias... ● Se são várias, possui cluster manager? ● Administração – Que permissões você possui no servidor? ● Escrita/leitura, execução de binários, acesso à internet... Deployment & PHP ProPHP 2013 / Abril
  • 28. Visão Geral Ambiente Software Deployment & PHP ProPHP 2013 / Abril
  • 29. Visão Geral Ambiente Software Deployment & PHP ProPHP 2013 / Abril
  • 30. Visão Geral ? Ambiente Software Deployment & PHP ProPHP 2013 / Abril
  • 31. Visão Geral 1 - Captura Ambiente ajustes Software Deployment & PHP ProPHP 2013 / Abril
  • 32. Visão Geral 1 - Captura Ambiente ajustes Software 2 - Configuração Deployment & PHP ProPHP 2013 / Abril
  • 33. Visão Geral 3 - Envio 1 - Captura Ambiente ajustes Software 2 - Configuração Deployment & PHP ProPHP 2013 / Abril
  • 34. Visão Geral 3 - Envio 1 - Captura Ambiente ajustes Software 4 - Intervenções 2 - Configuração Deployment & PHP ProPHP 2013 / Abril
  • 35. Como é o seu deploy? Deployment & PHP ProPHP 2013 / Abril
  • 36. Como é o seu deploy? ● Geração de pacote/release Deployment & PHP ProPHP 2013 / Abril
  • 37. Como é o seu deploy? ● Geração de pacote/release – Conceito não existe? Deployment & PHP ProPHP 2013 / Abril
  • 38. Como é o seu deploy? ● Geração de pacote/release – Conceito não existe? – Geração é uma ação manual? Deployment & PHP ProPHP 2013 / Abril
  • 39. Como é o seu deploy? ● Geração de pacote/release – Conceito não existe? – Geração é uma ação manual? ● Ajustes do software Deployment & PHP ProPHP 2013 / Abril
  • 40. Como é o seu deploy? ● Geração de pacote/release – Conceito não existe? – Geração é uma ação manual? ● Ajustes do software – Há verificações manuais no código fonte? Deployment & PHP ProPHP 2013 / Abril
  • 41. Como é o seu deploy? ● Geração de pacote/release – Conceito não existe? – Geração é uma ação manual? ● Ajustes do software – Há verificações manuais no código fonte? – Há exagero de configurações? Deployment & PHP ProPHP 2013 / Abril
  • 42. Como é o seu deploy? ● Geração de pacote/release – Conceito não existe? – Geração é uma ação manual? ● Ajustes do software – Há verificações manuais no código fonte? – Há exagero de configurações? ● Envio do código fonte para o servidor Deployment & PHP ProPHP 2013 / Abril
  • 43. Como é o seu deploy? ● Geração de pacote/release – Conceito não existe? – Geração é uma ação manual? ● Ajustes do software – Há verificações manuais no código fonte? – Há exagero na quantidade de configurações? ● Envio do código fonte para o servidor – É um ser humano quem faz o envio dos arquivos? Deployment & PHP ProPHP 2013 / Abril
  • 44. Como é o seu deploy? ● Geração de pacote – Conceito de pacote não existe? – Geração do pacote é uma ação manual? ● Ajustes do software – Há verificações manuais no código fonte? – Há exagero na quantidade de configurações? ● Envio do código fonte para o servidor – É um ser humano quem faz o envio dos arquivos? Deployment & PHP ProPHP 2013 / Abril
  • 45. Visão Geral 3 - Envio 1 - Captura Ambiente ajustes Software 4 - Intervenções 2 - Configuração Deployment & PHP ProPHP 2013 / Abril
  • 46. Simplifique! errar é humano Deployment & PHP ProPHP 2013 / Abril
  • 47. Dicas para Simplificação Deployment & PHP ProPHP 2013 / Abril
  • 48. Dicas para Simplificação ● Construa releases utilizáveis Deployment & PHP ProPHP 2013 / Abril
  • 49. Dicas para Simplificação ● Construa releases utilizáveis ● Deixe configurável somente o necessário Deployment & PHP ProPHP 2013 / Abril
  • 50. Dicas para Simplificação ● Construa releases utilizáveis ● Deixe configurável somente o necessário ● Exija menos customização do ambiente Deployment & PHP ProPHP 2013 / Abril
  • 51. Dicas para Simplificação ● Construa releases utilizáveis ● Deixe configurável somente o necessário ● Exija menos customização do ambiente – Extensões, bibliotecas... – php.ini, variáveis de ambiente... – Binários, executáveis... Deployment & PHP ProPHP 2013 / Abril
  • 52. Automatize! errar é humano Deployment & PHP ProPHP 2013 / Abril
  • 53. Dicas para Automatização Deployment & PHP ProPHP 2013 / Abril
  • 54. Dicas para Automatização ● Simplifique o deploy Deployment & PHP ProPHP 2013 / Abril
  • 55. Dicas para Automatização ● Simplifique o deploy ● Gerencie releases elegantemente Deployment & PHP ProPHP 2013 / Abril
  • 56. Dicas para Automatização ● Simplifique o deploy ● Gerencie releases elegantemente – Evite diversificar as configurações entre elas Deployment & PHP ProPHP 2013 / Abril
  • 57. Dicas para Automatização ● Simplifique o deploy ● Gerencie releases elegantemente – Evite diversificar as configurações entre elas – Disponibilize-os em protocolos padrões Deployment & PHP ProPHP 2013 / Abril
  • 58. Dicas para Automatização ● Simplifique o deploy ● Gerencie releases elegantemente – Evite diversificar as configurações entre elas – Disponibilize-os em protocolos padrões ● Controle de versão, gerenciador de pacotes ... Deployment & PHP ProPHP 2013 / Abril
  • 59. Dicas para Automatização ● Simplifique o deploy ● Gerencie releases elegantemente – Evite diversificar as configurações entre elas – Disponibilize-os em protocolos padrões ● Controle de versão, gerenciador de pacotes ... ● Deploy deve estar fora do software Deployment & PHP ProPHP 2013 / Abril
  • 60. Dicas para Automatização ● Simplifique o deploy ● Gerencie releases elegantemente – Evite diversificar as configurações entre elas – Disponibilize-os em protocolos padrões ● Controle de versão, gerenciador de pacotes ... ● Deploy deve estar fora do software – O ambiente pode mudar Deployment & PHP ProPHP 2013 / Abril
  • 61. Visão Geral 3 - Envio 1 - Captura Ambiente ajustes Software 4 - Intervenções 2 - Configuração Deployment & PHP ProPHP 2013 / Abril
  • 62. Meta a rotina automática deve ser capaz de manipular todos os release em qualquer ambiente Deployment & PHP ProPHP 2013 / Abril
  • 63. Visão Geral 3 - Envio 1 - Captura Ambiente ajustes Software 4 - Intervenções 2 - Configuração Deployment & PHP ProPHP 2013 / Abril
  • 64. Features Básicas ● Deploy ● Redeploy ● Rollback ● Remove Deployment & PHP ProPHP 2013 / Abril
  • 65. Ferramentas ● Shell script ● Capistrano ● PHP Cloud ● Zend Deployment ● OpenShift ● FortRabbit ● ... Deployment & PHP ProPHP 2013 / Abril
  • 66. As escolhas são suas... Deployment & PHP ProPHP 2013 / Abril
  • 67. ... as consequências também! Deployment & PHP ProPHP 2013 / Abril
  • 68. para refletir... Deployment & PHP ProPHP 2013 / Abril
  • 69. para refletir... ● Não existe automatização infalível Deployment & PHP ProPHP 2013 / Abril
  • 70. para refletir... ● Não existe automatização infalível ● Seguir padrões é saudável Deployment & PHP ProPHP 2013 / Abril
  • 71. para refletir... ● Não existe automatização infalível ● Seguir padrões é saudável – Em situações problemáticas, na maioria das vezes, você não está sozinho. A comunidade pode te ajudar Deployment & PHP ProPHP 2013 / Abril
  • 72. para refletir... ● Não existe automatização infalível ● Seguir padrões é saudável – Em situações problemáticas, na maioria das vezes, você não está sozinho. A comunidade pode te ajudar ● Deixe seu orgulho de lado Deployment & PHP ProPHP 2013 / Abril
  • 73. para refletir... ● Não existe automatização infalível ● Seguir padrões é saudável – Em situações problemáticas, na maioria das vezes, você não está sozinho. A comunidade pode te ajudar ● Deixe seu orgulho de lado – Você pode ter tomado uma má decisão Deployment & PHP ProPHP 2013 / Abril
  • 74. para refletir... ● Não existe automatização infalível ● Seguir padrões é saudável – Em situações problemáticas, na maioria das vezes, você não está sozinho. A comunidade pode te ajudar ● Deixe seu orgulho de lado – Você pode ter tomado uma má decisão – Proponha melhorias Deployment & PHP ProPHP 2013 / Abril
  • 75. Obrigado! Renan de Lima renandelima@gmail.com http://github.com/renanbr Deployment & PHP ProPHP 2013 / Abril