existe vida além do ftp!
TRANSCRIPT
![Page 1: Existe Vida além do FTP!](https://reader036.vdocuments.net/reader036/viewer/2022062316/588ab7b81a28ab371f8b4fef/html5/thumbnails/1.jpg)
Existe vida além do FTP
GUSTAVO PEREIRA @ PHPCONFERENCE BRASIL 2015
![Page 2: Existe Vida além do FTP!](https://reader036.vdocuments.net/reader036/viewer/2022062316/588ab7b81a28ab371f8b4fef/html5/thumbnails/2.jpg)
Precisamos falar sobre...
Alternativas ao uso totalmente manual do
FTP como ‘método de deploy’
![Page 3: Existe Vida além do FTP!](https://reader036.vdocuments.net/reader036/viewer/2022062316/588ab7b81a28ab371f8b4fef/html5/thumbnails/3.jpg)
Sem falar mal de...
Tecnologia, metodologia ou ferramenta!
![Page 4: Existe Vida além do FTP!](https://reader036.vdocuments.net/reader036/viewer/2022062316/588ab7b81a28ab371f8b4fef/html5/thumbnails/4.jpg)
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
![Page 5: Existe Vida além do FTP!](https://reader036.vdocuments.net/reader036/viewer/2022062316/588ab7b81a28ab371f8b4fef/html5/thumbnails/5.jpg)
Slideshare!
![Page 6: Existe Vida além do FTP!](https://reader036.vdocuments.net/reader036/viewer/2022062316/588ab7b81a28ab371f8b4fef/html5/thumbnails/6.jpg)
O ‘problema’ do FTP sendo usado manualmente para deploy
1 . Segurança
![Page 7: Existe Vida além do FTP!](https://reader036.vdocuments.net/reader036/viewer/2022062316/588ab7b81a28ab371f8b4fef/html5/thumbnails/7.jpg)
No client de FTP
![Page 8: Existe Vida além do FTP!](https://reader036.vdocuments.net/reader036/viewer/2022062316/588ab7b81a28ab371f8b4fef/html5/thumbnails/8.jpg)
Interceptando a conexão
![Page 9: Existe Vida além do FTP!](https://reader036.vdocuments.net/reader036/viewer/2022062316/588ab7b81a28ab371f8b4fef/html5/thumbnails/9.jpg)
O ‘problema’ do FTP sendo usado manualmente para deploy
2. Mais suscetível a falhas humanas
![Page 10: Existe Vida além do FTP!](https://reader036.vdocuments.net/reader036/viewer/2022062316/588ab7b81a28ab371f8b4fef/html5/thumbnails/10.jpg)
O ‘problema’ do FTP sendo usado manualmente para deploy
![Page 11: Existe Vida além do FTP!](https://reader036.vdocuments.net/reader036/viewer/2022062316/588ab7b81a28ab371f8b4fef/html5/thumbnails/11.jpg)
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
![Page 12: Existe Vida além do FTP!](https://reader036.vdocuments.net/reader036/viewer/2022062316/588ab7b81a28ab371f8b4fef/html5/thumbnails/12.jpg)
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)
![Page 13: Existe Vida além do FTP!](https://reader036.vdocuments.net/reader036/viewer/2022062316/588ab7b81a28ab371f8b4fef/html5/thumbnails/13.jpg)
O ‘problema’ do FTP como forma unica de deploy
3. Serviços de FTP configurados “daquele jeito”
“Ah, conecta no FTP como ROOT”
![Page 14: Existe Vida além do FTP!](https://reader036.vdocuments.net/reader036/viewer/2022062316/588ab7b81a28ab371f8b4fef/html5/thumbnails/14.jpg)
O ‘problema’ do FTP sendo usado manualmente para deploy
4. VCS e deployment andam de mãos dadas
![Page 15: Existe Vida além do FTP!](https://reader036.vdocuments.net/reader036/viewer/2022062316/588ab7b81a28ab371f8b4fef/html5/thumbnails/15.jpg)
Pense nas possibilidades que um método de deploy pode te oferecer…
•One-time setup
• One-line deployment / simplicidade
![Page 16: Existe Vida além do FTP!](https://reader036.vdocuments.net/reader036/viewer/2022062316/588ab7b81a28ab371f8b4fef/html5/thumbnails/16.jpg)
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
![Page 17: Existe Vida além do FTP!](https://reader036.vdocuments.net/reader036/viewer/2022062316/588ab7b81a28ab371f8b4fef/html5/thumbnails/17.jpg)
Mas... e agora?
![Page 18: Existe Vida além do FTP!](https://reader036.vdocuments.net/reader036/viewer/2022062316/588ab7b81a28ab371f8b4fef/html5/thumbnails/18.jpg)
Temos uma penca de ferramentas que pode nos ajudar!
![Page 19: Existe Vida além do FTP!](https://reader036.vdocuments.net/reader036/viewer/2022062316/588ab7b81a28ab371f8b4fef/html5/thumbnails/19.jpg)
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
![Page 20: Existe Vida além do FTP!](https://reader036.vdocuments.net/reader036/viewer/2022062316/588ab7b81a28ab371f8b4fef/html5/thumbnails/20.jpg)
Nada disso do que vamos falar faz sentido...
… se você não usa (ou não quer usar) um controle de versão!
![Page 21: Existe Vida além do FTP!](https://reader036.vdocuments.net/reader036/viewer/2022062316/588ab7b81a28ab371f8b4fef/html5/thumbnails/21.jpg)
Git-FTP http://git-ftp.github.io/git-ftp/
Precisa urgentemente de testers (Windows e OSX)!
![Page 22: Existe Vida além do FTP!](https://reader036.vdocuments.net/reader036/viewer/2022062316/588ab7b81a28ab371f8b4fef/html5/thumbnails/22.jpg)
Git-FTP
![Page 23: Existe Vida além do FTP!](https://reader036.vdocuments.net/reader036/viewer/2022062316/588ab7b81a28ab371f8b4fef/html5/thumbnails/23.jpg)
Git-deploy
https://github.com/mislav/git-deploy
Setup bem simples (é bom para quem está começando agora a aventura)
![Page 24: Existe Vida além do FTP!](https://reader036.vdocuments.net/reader036/viewer/2022062316/588ab7b81a28ab371f8b4fef/html5/thumbnails/24.jpg)
Git-deployApós o setup inicial(que pode ser feito em apenas uma máquina) …
![Page 25: Existe Vida além do FTP!](https://reader036.vdocuments.net/reader036/viewer/2022062316/588ab7b81a28ab371f8b4fef/html5/thumbnails/25.jpg)
Git-deploy
Você consegue enfim realizar o deploy em apenas uma linha de comando!
![Page 26: Existe Vida além do FTP!](https://reader036.vdocuments.net/reader036/viewer/2022062316/588ab7b81a28ab371f8b4fef/html5/thumbnails/26.jpg)
Capistrano
http://www.capistranorb.com
Escrito em Ruby (mas funciona com projetos PHP)
Possui plugins para Composer, Laravel, Symfony
![Page 27: Existe Vida além do FTP!](https://reader036.vdocuments.net/reader036/viewer/2022062316/588ab7b81a28ab371f8b4fef/html5/thumbnails/27.jpg)
Capistrano
Você pode definir a estratégia de deploy para cada ambiente
![Page 28: Existe Vida além do FTP!](https://reader036.vdocuments.net/reader036/viewer/2022062316/588ab7b81a28ab371f8b4fef/html5/thumbnails/28.jpg)
Capistranodeploy.rb
![Page 29: Existe Vida além do FTP!](https://reader036.vdocuments.net/reader036/viewer/2022062316/588ab7b81a28ab371f8b4fef/html5/thumbnails/29.jpg)
Capistrano Para o deploy (Prod/Homologação):
$ cap production deploy
$ cap staging deploy
$ cap deploy rollback
![Page 30: Existe Vida além do FTP!](https://reader036.vdocuments.net/reader036/viewer/2022062316/588ab7b81a28ab371f8b4fef/html5/thumbnails/30.jpg)
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
![Page 32: Existe Vida além do FTP!](https://reader036.vdocuments.net/reader036/viewer/2022062316/588ab7b81a28ab371f8b4fef/html5/thumbnails/32.jpg)
FTPloy
![Page 33: Existe Vida além do FTP!](https://reader036.vdocuments.net/reader036/viewer/2022062316/588ab7b81a28ab371f8b4fef/html5/thumbnails/33.jpg)
FTPloy
![Page 34: Existe Vida além do FTP!](https://reader036.vdocuments.net/reader036/viewer/2022062316/588ab7b81a28ab371f8b4fef/html5/thumbnails/34.jpg)
FTPloy
![Page 35: Existe Vida além do FTP!](https://reader036.vdocuments.net/reader036/viewer/2022062316/588ab7b81a28ab371f8b4fef/html5/thumbnails/35.jpg)
FTPloy
![Page 36: Existe Vida além do FTP!](https://reader036.vdocuments.net/reader036/viewer/2022062316/588ab7b81a28ab371f8b4fef/html5/thumbnails/36.jpg)
FTPloy
![Page 38: Existe Vida além do FTP!](https://reader036.vdocuments.net/reader036/viewer/2022062316/588ab7b81a28ab371f8b4fef/html5/thumbnails/38.jpg)
Deploybothttps://deploybot.com
• Integração com outros serviços (DigitalOcean, AWS, Heroku)
•Está em constante aprimoramento
![Page 39: Existe Vida além do FTP!](https://reader036.vdocuments.net/reader036/viewer/2022062316/588ab7b81a28ab371f8b4fef/html5/thumbnails/39.jpg)
Deploybot
![Page 40: Existe Vida além do FTP!](https://reader036.vdocuments.net/reader036/viewer/2022062316/588ab7b81a28ab371f8b4fef/html5/thumbnails/40.jpg)
Deploybot
![Page 41: Existe Vida além do FTP!](https://reader036.vdocuments.net/reader036/viewer/2022062316/588ab7b81a28ab371f8b4fef/html5/thumbnails/41.jpg)
ContinuousPHP https://continuousphp.com/
Que agora é grátis para projetos pessoais / Open-Source
=)
![Page 42: Existe Vida além do FTP!](https://reader036.vdocuments.net/reader036/viewer/2022062316/588ab7b81a28ab371f8b4fef/html5/thumbnails/42.jpg)
ContinuousPHP https://continuousphp.com/
•Que agora é grátis para projetos pessoais / Open-Source
•Em constante desenvolvimento
![Page 43: Existe Vida além do FTP!](https://reader036.vdocuments.net/reader036/viewer/2022062316/588ab7b81a28ab371f8b4fef/html5/thumbnails/43.jpg)
ContinuousPHP
![Page 44: Existe Vida além do FTP!](https://reader036.vdocuments.net/reader036/viewer/2022062316/588ab7b81a28ab371f8b4fef/html5/thumbnails/44.jpg)
ContinuousPHP
![Page 45: Existe Vida além do FTP!](https://reader036.vdocuments.net/reader036/viewer/2022062316/588ab7b81a28ab371f8b4fef/html5/thumbnails/45.jpg)
ContinuousPHP
![Page 46: Existe Vida além do FTP!](https://reader036.vdocuments.net/reader036/viewer/2022062316/588ab7b81a28ab371f8b4fef/html5/thumbnails/46.jpg)
ContinuousPHP
![Page 47: Existe Vida além do FTP!](https://reader036.vdocuments.net/reader036/viewer/2022062316/588ab7b81a28ab371f8b4fef/html5/thumbnails/47.jpg)
ContinuousPHP
![Page 48: Existe Vida além do FTP!](https://reader036.vdocuments.net/reader036/viewer/2022062316/588ab7b81a28ab371f8b4fef/html5/thumbnails/48.jpg)
Outras ferramentas Bamboohttps://www.atlassian.com/software/bamboo/
Beanstalkhttp://beanstalkapp.com/
Engine yardhttps://www.engineyard.com/
![Page 49: Existe Vida além do FTP!](https://reader036.vdocuments.net/reader036/viewer/2022062316/588ab7b81a28ab371f8b4fef/html5/thumbnails/49.jpg)
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 $$$!
![Page 50: Existe Vida além do FTP!](https://reader036.vdocuments.net/reader036/viewer/2022062316/588ab7b81a28ab371f8b4fef/html5/thumbnails/50.jpg)
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!
![Page 51: Existe Vida além do FTP!](https://reader036.vdocuments.net/reader036/viewer/2022062316/588ab7b81a28ab371f8b4fef/html5/thumbnails/51.jpg)
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!
![Page 52: Existe Vida além do FTP!](https://reader036.vdocuments.net/reader036/viewer/2022062316/588ab7b81a28ab371f8b4fef/html5/thumbnails/52.jpg)
Dito isso tudo, o que é mais importante
Existe um mundo de possibilidades além do Filezilla!
![Page 53: Existe Vida além do FTP!](https://reader036.vdocuments.net/reader036/viewer/2022062316/588ab7b81a28ab371f8b4fef/html5/thumbnails/53.jpg)
@gustavosteam
github.com/gustavoper
http://rumoacertificacaophp.com
https://br.linkedin.com/in/gustavoperphp
(fica, vai ter bolo… Digo, sorteio!)
Obrigado!