Existe Vida além do FTP!
-
Upload
gustavo-pereira -
Category
Technology
-
view
264 -
download
0
Transcript of Existe Vida além do FTP!
Existe vida além do FTP
GUSTAVO PEREIRA @ PHPCONFERENCE BRASIL 2015
Precisamos falar sobre...
Alternativas ao uso totalmente manual do
FTP como ‘método de deploy’
Sem falar mal de...
Tecnologia, metodologia ou ferramenta!
Quem é 'esse cara ai' que está falando?
•Gustavo PereiraHá mais de 10 anos na área de TI, trabalhando com diversas tecnologias
•ZCPE 5.5
•Membro da “Rumo a Certificação PHP”
•Developer no Zupperhttp://www.zupper.com.br
Slideshare!
O ‘problema’ do FTP sendo usado manualmente para deploy
1 . Segurança
No client de FTP
Interceptando a conexão
O ‘problema’ do FTP sendo usado manualmente para deploy
2. Mais suscetível a falhas humanas
O ‘problema’ do FTP sendo usado manualmente para deploy
O ‘problema’ do FTP sendo usado manualmente para deploy• Descontrole total do que de fato subiu
• Retrabalho
•Tentação de fazer alterações direto em prod
O ‘problema’ do FTP sendo usado manualmente para deploy• O erro aparece ‘na hora’ para o usuário
• Você pode esquecer de dar o push no repo antes de ‘subir’ em prod (isso se você usar um VCS)
O ‘problema’ do FTP como forma unica de deploy
3. Serviços de FTP configurados “daquele jeito”
“Ah, conecta no FTP como ROOT”
O ‘problema’ do FTP sendo usado manualmente para deploy
4. VCS e deployment andam de mãos dadas
Pense nas possibilidades que um método de deploy pode te oferecer…
•One-time setup
• One-line deployment / simplicidade
Pense nas possibilidades que um método de deploy pode te oferecer…
• Automação de tarefas comuns
•Desfazer alterações indesejadas (ou configurar o deployment para negar pushes cujos testes deram erro)
• “Build” e Integrações Contínuas
Mas... e agora?
Temos uma penca de ferramentas que pode nos ajudar!
Mas vale lembrar:
• Não existe bala de prata
• Todas elas tem seus pontos fortes e fracos
• Cabe a você avaliar a ferramenta que melhor se enquadra no seu cenário
Nada disso do que vamos falar faz sentido...
… se você não usa (ou não quer usar) um controle de versão!
Git-FTP http://git-ftp.github.io/git-ftp/
Precisa urgentemente de testers (Windows e OSX)!
Git-FTP
Git-deploy
https://github.com/mislav/git-deploy
Setup bem simples (é bom para quem está começando agora a aventura)
Git-deployApós o setup inicial(que pode ser feito em apenas uma máquina) …
Git-deploy
Você consegue enfim realizar o deploy em apenas uma linha de comando!
Capistrano
http://www.capistranorb.com
Escrito em Ruby (mas funciona com projetos PHP)
Possui plugins para Composer, Laravel, Symfony
Capistrano
Você pode definir a estratégia de deploy para cada ambiente
Capistranodeploy.rb
Capistrano Para o deploy (Prod/Homologação):
$ cap production deploy
$ cap staging deploy
$ cap deploy rollback
Outros PaaS (Platform as Service)
• Envolvem custos (mas possuem versões free para teste)
• Possuem GUIs• Estão sujeitos a interrupções do serviço• Simplificam demais o processo de dpeloy como um todo e CI• Não possuem tanta flexibilidade
FTPloy
FTPloy
FTPloy
FTPloy
FTPloy
Deploybot https://deploybot.com
Deploybothttps://deploybot.com
• Integração com outros serviços (DigitalOcean, AWS, Heroku)
•Está em constante aprimoramento
Deploybot
Deploybot
ContinuousPHP https://continuousphp.com/
Que agora é grátis para projetos pessoais / Open-Source
=)
ContinuousPHP https://continuousphp.com/
•Que agora é grátis para projetos pessoais / Open-Source
•Em constante desenvolvimento
ContinuousPHP
ContinuousPHP
ContinuousPHP
ContinuousPHP
ContinuousPHP
Outras ferramentas Bamboohttps://www.atlassian.com/software/bamboo/
Beanstalkhttp://beanstalkapp.com/
Engine yardhttps://www.engineyard.com/
Dito isso tudo, o que é mais importante Sugestão Proponha uma evolução no seu ambiente de acordo com o que vc pode gastar - Tempo e $$$!
Dito isso tudo, o que é mais importanteAntes de sair a caça de ferramentas, procure desenvolver uma cultura de uma estratégia de deployment clara
É um circulo vicioso e que busca sempre o aperfeiçoamento!
Dito isso tudo, o que é mais importante
Não usar uma estrategia de deployment signifca PERDER DINHEIRO
Uma estratégia de deployment pode não ser 100% perfeita, mas usar qualquer metodo de deployment é melhor do que nenhum!
Dito isso tudo, o que é mais importante
Existe um mundo de possibilidades além do Filezilla!
@gustavosteam
github.com/gustavoper
http://rumoacertificacaophp.com
https://br.linkedin.com/in/gustavoperphp
(fica, vai ter bolo… Digo, sorteio!)
Obrigado!