Boas práticas para deploy contínuo com drupal

622 visualizações

Publicada em

Entenda o que é Deploy Contínuo e como implementá-lo utilizando Drupal.

Publicada em: Tecnologia
0 comentários
2 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
622
No SlideShare
0
A partir de incorporações
0
Número de incorporações
10
Ações
Compartilhamentos
0
Downloads
10
Comentários
0
Gostaram
2
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Boas práticas para deploy contínuo com drupal

  1. 1. Boas Práticas para D.C. com Drupal Renato Vasconcellos renato@taller.net.br
  2. 2. O que você verá nesta apresentação?
  3. 3. ● O que é Continuous Deployment ● Ferramentas & Modulos ● Fluxo de desenvolvimento ● Dicas & Referências Agenda
  4. 4. Aviso Esta apresentação está direcionada para pessoas que desejam começar ou ter contato com algumas lições aprendidas na minha experiência com Continuous Deployment. Se você já tem domínio dos princípios de devops e tem experiência avançada com Drupal talvez você já conheça o que está por vir.
  5. 5. O que significa Deploy?
  6. 6. “Colocação de equipamentos e tropas no campo de batalha.” www.webopedia.com/TERM/D/deploy.html
  7. 7. “Instalar, testar e implementar uma aplicação ou sistema de computador.” www.webopedia.com/TERM/D/deploy.htm
  8. 8. Integração Continua? Entrega Continua? Deploy Contínuo?
  9. 9. Integração Continua
  10. 10. Integrar seu trabalho constantemente com sua equipe.
  11. 11. Entrega Continua
  12. 12. Disponibilizar seu trabalho constantemente para revisão pela equipe ou pelo cliente.
  13. 13. Deploy Contínuo
  14. 14. Implantar seu trabalho constantemente no servidor do cliente.
  15. 15. Deploy Continuo é um reflexo da cultura e disciplina de um time.
  16. 16. Continuous Deployment in 5 steps Eric Ries - O'Reilly Radar http://lb.cm/dploy5stps
  17. 17. Servidor de Integração Contínua (CI Server)
  18. 18. Checagem de commits do Controle de versão (Source control commit check)
  19. 19. Scripts de Deploy simples (Simple deployment scripts)
  20. 20. Alertas em tempo real (Real-time alerting)
  21. 21. Análise da causa raíz (the five whys)
  22. 22. Como/por onde começar? Image by Jalel
  23. 23. Fluxo de trabalho padronizado
  24. 24. Acordos de trabalho
  25. 25. ATs são um conjunto de regras/disciplinas/processos que a equipe concorda em seguir, sem falhas, para torná-los mais eficientes e aumentar a qualidade do trabalho. Vignesh Murthy https://www.scrumalliance.org/community/articles/2014/january/work-agreements-scrum-team
  26. 26. Padrões de codificação drupal.org/coding-standards
  27. 27. Tudo em código
  28. 28. Test Driven Development
  29. 29. Servidor de CI/CD
  30. 30. Escolha o seu preferido ● Jenkins ● CircleCI ● Codeship ● Strider CD ● Dploy ● Travis CI ● Gitlab CI ● Other
  31. 31. Deploy on Green!
  32. 32. Fluxo de Desenvolvimento
  33. 33. Pipeline Develop. Test/QA ProductionUAT/Staging
  34. 34. Ambiente de Desenvolvimento
  35. 35. Pode simular o ambiente de produção.
  36. 36. Ambiente de Teste/QA
  37. 37. Pode simular o ambiente de produção.
  38. 38. Ambiente de UAT/Staging/Pre-prod
  39. 39. Deve simular o ambiente de produção.
  40. 40. Ambiente Produção
  41. 41. Recap. Develop. Test/QA http://dltj.org/article/software-development-practice/ http://spacebug.com/effective_development_environments/ ProductionUAT/Staging
  42. 42. Com fazer isso com Drupal?
  43. 43. Drupal Development Virtual Machine drupalvm.com github.com/revagomes/drupal-boilerplate github.com/sebas5384/charm-drupal
  44. 44. Drush drush.org
  45. 45. Perfís de instalação & Distribuições drupal.org/documentation/build/distributions
  46. 46. Modulo Strongarm drupal.org/project/strongarm
  47. 47. Modulo Features drupal.org/project/features drupal.org/documentation/modules/features
  48. 48. Modulo Default Config drupal.org/project/defaultconfig
  49. 49. Modulo personalizado de Deployment befused.com/drupal/site-deployment-module
  50. 50. Modulo Configuration Management drupal.org/project/configuration
  51. 51. Modulo UUID drupal.org/project/uuid
  52. 52. Modulo Deploy drupal.org/project/deploy
  53. 53. Modulos WF Tools drupal.org/project/wf_tools
  54. 54. Git Workflow atlassian.com/git/workflows
  55. 55. Centralized workflow
  56. 56. Feature branch workflow
  57. 57. Git flow workflow
  58. 58. Forking workflow
  59. 59. A successful git branch model? Vincent Driessen nvie.com/posts/a-successful-git-branching-model
  60. 60. Git flow Workflow Git flow https://github.com/nvie/gitflow Git flow cheat sheet http://danielkummer.github.io/git-flow-cheatsheet/
  61. 61. .git/Hooks git-scm.com/book/en/v2/Customizing-Git-Git-Hooks
  62. 62. Client Side
  63. 63. Pre Commit ● Padrão de Código (Lint) ● Testes automatizados
  64. 64. Post Checkout ● Testes críticos ● Checagem de branch
  65. 65. Server Side
  66. 66. Pre Receive ● Padrão de Código (Lint) ● Testes automatizados ● Proteção de Branches
  67. 67. Post Receive ● Testes de carga ● Notificações
  68. 68. Com fazer isso com Drupal?
  69. 69. Modulo Coder drupal.org/project/coder
  70. 70. Script PAReview drupal.org/project/pareviewsh
  71. 71. Modulo Drupal Code Quality drupal.org/project/dcq
  72. 72. Testes Automatizados
  73. 73. Testes Automatizados trazem segurança e confiabilidade para um processo de melhoria contínua.
  74. 74. Joseph Yodel slideshare.net/yodamann/pragmatic-not-dogmatic-tdd-agile2012
  75. 75. Joseph Yodel slideshare.net/yodamann/pragmatic-not-dogmatic-tdd-agile2012
  76. 76. Joseph Yodel slideshare.net/yodamann/pragmatic-not-dogmatic-tdd-agile2012
  77. 77. Com fazer isso com Drupal?
  78. 78. Simple Test drupal.org/project/simpletest
  79. 79. PHP Unit phpunit.de drupal.org/phpunit
  80. 80. Modulo Behat Extension drupal.org/project/drupalextension
  81. 81. Barbor (BDD Framework) github.com/barbor/barbor
  82. 82. Jasmine (BDD Framework) github.com/jasmine/jasmine
  83. 83. Perguntas & Respostas
  84. 84. Deixe seu feedback! latinamerica2015.drupal.org/session/best-practices-continuous-deployment-drupal
  85. 85. Mantenha contato! @revagomes renato@taller.net.br drupal.org/u/revagomes about.me/revagomes

×