Successfully reported this slideshow.

Por que jenkins se posso usar deployer php

497 visualizações

Publicada em

Palestra para o evento http://conf.phprs.com.br sobre técnicas de deploy com a ferramenta deployer PHP.

Publicada em: Software
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Por que jenkins se posso usar deployer php

  1. 1. Por que Jenkins se posso usar Deployer PHP?
  2. 2. Meu nome é Michael Douglas - O DEV Criador da Laravel PagSeguro, idealizador do evento Laravel Conference Brasil e Engenheiro de Softwares na empresa Atitude. Olá!
  3. 3. Criador e Mantenedor ▷ http://www.facebook.com.br/groups/silexbrasil ▷ http://www.facebook.com.br/groups/laravelsp ▷ http://www.facebook.com.br/groups/phingbrasil ▷ http://www.facebook.com.br/groups/sonicpibrasil ▷ http://www.facebook.com.br/groups/doctrinebrasil
  4. 4. https://github.com/michaeldouglas https://twitter.com/mdba_araujo https://facebook.com/mdba.araujo
  5. 5. Livro: Zend Certified Engineer - Descomplicando a certificação PHP.
  6. 6. Pacote oficial Laravel para Pagseguro: https://github.com/michaeldouglas/larav el-pagseguro
  7. 7. Laravel Conference Brasil Todos vocês ganharam 15% de desconto na Laravel Conference Brasil 2017. http://laraconfbrasil.com.br
  8. 8. Integração Contínua A integração contínua é uma prática de desenvolvimento de software de DevOps em que os desenvolvedores, com frequência, juntam suas alterações de código em um repositório central. Depois disso, criações e testes são executados. https://aws.amazon.com/pt/devops/continuous-integration
  9. 9. Onde, talvez tudo se inicia ?
  10. 10. GIT Git é um sistema de controle de versão de arquivos. Através deles podemos desenvolver projetos no qual diversas pessoas podem contribuir simultaneamente no mesmo projeto!
  11. 11. Teste é de comer ?
  12. 12. PHP Unit PHPUnit é um framework de testes para PHP e disso você já deve estar cansado de saber. Para instalar de forma simples basta ter no composer.json: "require-dev": { "phpunit/phpunit": "4.0.*" }
  13. 13. Show Me The Code - PHPUnit Simple!
  14. 14. Build um ponto a ser discutido!
  15. 15. Build Build, no contexto do desenvolvimento de software, é uma versão "compilada" de um software ou parte dele que contém um conjunto de recursos que poderão integrar o produto final. https://pt.wikipedia.org/wiki/Build
  16. 16. Build
  17. 17. Deploy Deploy (implantação) é a fase do ciclo de vida de um software, que corresponde textualmente à passagem do software para a produção. https://pt.wikipedia.org/wiki/Implantacao_de_software
  18. 18. O processo manual de arrastar e soltar via softwares de FTP com FileZilla pode ser perigoso. Existe nesses casos a integração contínua manual: Reescrever a pasta para: Path_data_hora_minuto_segundos. Em seguida realiza o Upload e pronto! Processo Manual - Exemplo FTP
  19. 19. O processo manual de realizar um PULL em produção pode ser perigoso. Existe nesses casos a integração contínua manual via GIT: Realiza um git pull origin master, em seguida verifica em produção e então está concluído! Mais um processo manual o GIT
  20. 20. Política de Deploy Política de Deploy (implantação) é nesse momento que você define as regras para subir uma nova versão do seu Software.
  21. 21. Será que existe uma maneira simples de implementar deploy na minha empresa ou projeto ?
  22. 22. PHP Deployer Basicamente é uma ferramenta de deploy, fácil de utilizar e suporta muitos Frameworks, tais como:
  23. 23. Porque PHP Deployer ? Basicamente por esses motivos: Ele é rápido É modular Mantém o código limpo Rollbacks simples
  24. 24. PHP Deployer - Instalação A instalação é bem simples, basta executar: ◉ curl -LO https://deployer.org/deployer.phar ◉ mv deployer.phar /usr/local/bin/dep ◉ chmod +x /usr/local/bin/dep O que isso faz? - Vamos ao terminal!
  25. 25. PHP Deployer - Iniciando Agora para iniciar o deploy do seu projeto basta executar: ◉ dep init ○ Faz com que o Deployer crie o arquivo: deploy.php
  26. 26. PHP Deployer - Configurações ◉ dep init ○ Como explicado contém o passo a passo para deploy da aplicação! ○ Vamos ao script deploy.php ver essas configurações. Quem quiser ver também clique aqui:
  27. 27. PHP Deployer - Tarefas Um ponto chave do seu deploy, pode ser as tarefas. Para criar é simples: $ dep my_task
  28. 28. PHP Deployer - Servidores
  29. 29. PHP Deployer - Recipes ◉ Receitas ○ Receitas basicamente são funções prontas para o seu deploy! ○ Instalação: ■ composer require --dev deployer/recipes ■ require 'recipe/slack.php'; ○ Lista de receitas ->
  30. 30. PHP Deployer - Recipes ◉ Lista de receitas: ○ bugsnag - require 'recipe/bugsnag.php'; ○ cachetool - require 'recipe/cachetool.php'; ○ cloudflare - require'recipe/cloudflare.php'; ○ hipchat - require 'recipe/hipchat.php'; ○ newrelic - require 'recipe/newrelic.php'; ○ npm - require 'recipe/npm.php'; ○ phinx - require 'recipe/phinx.php' ○ rabbit - require 'recipe/rabbit.php'; ○ rollbar - require 'recipe/rollbar.php'; ○ rsync - require 'recipe/rsync.php'; ○ sentry - require 'recipe/sentry.php'; ○ slack - require 'recipe/slack.php'; ○ yarn - require 'recipe/yarn.php';
  31. 31. “Ferramenta para monitoramento de erros em fluxos de trabalho de entrega contínua. Free para projetos pessoais e protótipos.
  32. 32. Show Me Rollbar - PHP !
  33. 33. PHP Deployer - Recipes ◉ Iremos utilizar 2 receitas: require 'vendor/deployer/recipes/recipe/slack.php'; set('slack', [ 'token' => 'Token', 'team' => 'team', 'app' => 'app', ]); require 'vendor/deployer/recipes/recipe/slack.php'; set('rollbar', [ 'access_token' => "a5a20d133b60417d91f225bdcbd78bb8" ]);
  34. 34. Show Me Deploy - Digital Ocean!
  35. 35. Avalie a palestra: https://avalie.se/phprs
  36. 36. Perguntas ? Meus contatos novamente: ◉ @mdba_araujo ◉ michaeldouglas010790@gmail.com Obrigado!

×