deployment & php

Post on 20-Jun-2015

665 Views

Category:

Technology

3 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Deployment & PHPo caminho para a automatização

Renan de LimaProPHP - Abril / 2013

Deployment & PHP ProPHP2013 / Abril

Agenda

● Definições● Conceitos● Recomendações

Deployment & PHP ProPHP2013 / Abril

O que é

Deployment & PHP ProPHP2013 / Abril

O que é

Disponibilizar software para utilização!

Deployment & PHP ProPHP2013 / Abril

O que não é

Deployment & PHP ProPHP2013 / Abril

O que não é

● Validação

Deployment & PHP ProPHP2013 / Abril

O que não é

● Validação● Teste

Deployment & PHP ProPHP2013 / Abril

O que não é

● Validação● Teste● Empacotamento

Deployment & PHP ProPHP2013 / Abril

Pré-requisitos

Deployment & PHP ProPHP2013 / Abril

Pré-requisitos

● Software

Deployment & PHP ProPHP2013 / Abril

Pré-requisitos

● Software– git, svn, zip, phar, composer, pear, pyrus...

Deployment & PHP ProPHP2013 / Abril

Pré-requisitos

● Software– git, svn, zip, phar, composer, pear, pyrus...

● Conhecer o software

Deployment & PHP ProPHP2013 / Abril

Pré-requisitos

● Software– git, svn, zip, phar, composer, pear, pyrus...

● Conhecer o software– Configurações necessárias

Deployment & PHP ProPHP2013 / Abril

Pré-requisitos

● Software– git, svn, zip, phar, composer, pear, pyrus...

● Conhecer o software– Configurações necessárias

● Conhecer o ambiente destino

Deployment & PHP ProPHP2013 / 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 ProPHP2013 / Abril

Você conhece seu software?

Deployment & PHP ProPHP2013 / Abril

Você conhece seu software?

● Configurações

Deployment & PHP ProPHP2013 / Abril

Você conhece seu software?

● Configurações– As que não variam

Deployment & PHP ProPHP2013 / Abril

Você conhece seu software?

● Configurações– As que não variam

● Exemplo: diretórios de módulos, views...

Deployment & PHP ProPHP2013 / 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 ProPHP2013 / 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 ProPHP2013 / 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 ProPHP2013 / Abril

Você conhece seu ambiente?

Deployment & PHP ProPHP2013 / Abril

Você conhece seu ambiente?

● Instâncias

Deployment & PHP ProPHP2013 / Abril

Você conhece seu ambiente?

● Instâncias– Uma, várias...

● Se são várias, possui cluster manager?

Deployment & PHP ProPHP2013 / Abril

Você conhece seu ambiente?

● Instâncias– Uma, várias...

● Se são várias, possui cluster manager?

● Administração

Deployment & PHP ProPHP2013 / 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 ProPHP2013 / Abril

Visão Geral

Software

Ambiente

Deployment & PHP ProPHP2013 / Abril

Visão Geral

Software

Ambiente

Deployment & PHP ProPHP2013 / Abril

Visão Geral

Software

Ambiente

?

Deployment & PHP ProPHP2013 / Abril

Visão Geral

Software

Ambiente

ajustes

1 - Captura

Deployment & PHP ProPHP2013 / Abril

Visão Geral

Software

Ambiente

ajustes

2 - Configuração

1 - Captura

Deployment & PHP ProPHP2013 / Abril

Visão Geral

Software

Ambiente

ajustes

2 - Configuração

3 - Envio

1 - Captura

Deployment & PHP ProPHP2013 / Abril

Visão Geral

Software

Ambiente

ajustes

2 - Configuração

3 - Envio

4 - Intervenções

1 - Captura

Deployment & PHP ProPHP2013 / Abril

Como é o seu deploy?

Deployment & PHP ProPHP2013 / Abril

Como é o seu deploy?

● Geração de pacote/release

Deployment & PHP ProPHP2013 / Abril

Como é o seu deploy?

● Geração de pacote/release– Conceito não existe?

Deployment & PHP ProPHP2013 / Abril

Como é o seu deploy?

● Geração de pacote/release– Conceito não existe?– Geração é uma ação manual?

Deployment & PHP ProPHP2013 / 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 ProPHP2013 / 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 ProPHP2013 / 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 ProPHP2013 / 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 ProPHP2013 / 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 ProPHP2013 / 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 ProPHP2013 / Abril

Visão Geral

Software

Ambiente

ajustes

2 - Configuração

3 - Envio

4 - Intervenções

1 - Captura

Deployment & PHP ProPHP2013 / Abril

Simplifique!

errar é humano

Deployment & PHP ProPHP2013 / Abril

Dicas para Simplificação

Deployment & PHP ProPHP2013 / Abril

Dicas para Simplificação

● Construa releases utilizáveis

Deployment & PHP ProPHP2013 / Abril

Dicas para Simplificação

● Construa releases utilizáveis● Deixe configurável somente o necessário

Deployment & PHP ProPHP2013 / Abril

Dicas para Simplificação

● Construa releases utilizáveis● Deixe configurável somente o necessário● Exija menos customização do ambiente

Deployment & PHP ProPHP2013 / 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 ProPHP2013 / Abril

Automatize!

errar é humano

Deployment & PHP ProPHP2013 / Abril

Dicas para Automatização

Deployment & PHP ProPHP2013 / Abril

Dicas para Automatização

● Simplifique o deploy

Deployment & PHP ProPHP2013 / Abril

Dicas para Automatização

● Simplifique o deploy● Gerencie releases elegantemente

Deployment & PHP ProPHP2013 / Abril

Dicas para Automatização

● Simplifique o deploy● Gerencie releases elegantemente

– Evite diversificar as configurações entre elas

Deployment & PHP ProPHP2013 / 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 ProPHP2013 / 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 ProPHP2013 / 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 ProPHP2013 / 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 ProPHP2013 / Abril

Visão Geral

Software

Ambiente

ajustes

2 - Configuração

3 - Envio

4 - Intervenções

1 - Captura

Deployment & PHP ProPHP2013 / Abril

Meta

a rotina automática deve ser capaz de manipular todos os release em qualquer ambiente

Deployment & PHP ProPHP2013 / Abril

Visão Geral

Software

Ambiente

ajustes

2 - Configuração

3 - Envio

4 - Intervenções

1 - Captura

Deployment & PHP ProPHP2013 / Abril

Features Básicas

● Deploy● Redeploy● Rollback● Remove

Deployment & PHP ProPHP2013 / Abril

Ferramentas

● Shell script● Capistrano● PHP Cloud● Zend Deployment● OpenShift● FortRabbit● ...

Deployment & PHP ProPHP2013 / Abril

As escolhas são suas...

Deployment & PHP ProPHP2013 / Abril

... as consequências também!

Deployment & PHP ProPHP2013 / Abril

para refletir...

Deployment & PHP ProPHP2013 / Abril

para refletir...

● Não existe automatização infalível

Deployment & PHP ProPHP2013 / Abril

para refletir...

● Não existe automatização infalível● Seguir padrões é saudável

Deployment & PHP ProPHP2013 / 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 ProPHP2013 / 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 ProPHP2013 / 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 ProPHP2013 / 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 ProPHP2013 / Abril

Obrigado!

Renan de Lima

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

top related