Strider CD - Deploy Contínuo com JavaScript

1.803 visualizações

Publicada em

Esta palestra pretende apresentar boas práticas para Continuous Deployment e como o Strider CD, um servidor de Continuous Integration e Continuous Deployment em NodeJS, nos ajuda muito neste processo. Serão abordados tópicos como Integração contínua, Deploy contínuo, Git, Workflow de trabalho, TDD/BDD e onde o Strider facilita a implementação destas práticas para Entrega Contínua

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

Sem downloads
Visualizações
Visualizações totais
1.803
No SlideShare
0
A partir de incorporações
0
Número de incorporações
29
Ações
Compartilhamentos
0
Downloads
5
Comentários
0
Gostaram
6
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Strider CD - Deploy Contínuo com JavaScript

  1. 1. Strider CD Deploy Contínuo com Javascript Renato Vasconcellos / Sebastian Ferrari renato@taller.net.br / sebas@taller.net.br
  2. 2. O que vamos ver nesta apresentação?
  3. 3. Assuntos: ● O que é Deploy Contínuo ● Conceitos básicos ● Ferramentas ● Otimização do Processo ● O que é Strider CD? ● Conceitos básicos ● Exemplos práticos
  4. 4. O que é Deploy?
  5. 5. Colocação de equipamentos e tropas no campo de batalha. webopedia.com
  6. 6. Instalar, testar e implementar uma aplicação ou sistema de computador. webopedia.com
  7. 7. Contínuous Integration? Contínuous Delivery? Contínuous Deployment?
  8. 8. Continuous Integration
  9. 9. Integrar seu código constantemente com dos outros do time.
  10. 10. Continuous Delivery
  11. 11. Disponibilizar seu código constantemente para revisão do time ou do cliente.
  12. 12. Continuous Deployment
  13. 13. Entregar seu código constantemente direto para o cliente.
  14. 14. Deploy Contínuo em 5 passos http://lb.cm/dploy5stps Eric Ries - O'Reilly Radar
  15. 15. CI Server (Servidor de Integração contínua)
  16. 16. Source control commit check (Checagem de commits)
  17. 17. Simple deployment script (Script de deploy simples)
  18. 18. Real-time alerting (Alerta em tempo real)
  19. 19. Root cause analysis (five whys) (Análise da raíz do problema - 5 porquês)
  20. 20. Ferramentas
  21. 21. Scripts
  22. 22. Git
  23. 23. Testes
  24. 24. CI/CD Server
  25. 25. Por onde começar? Image by Jalel
  26. 26. Workflow de Desenvolvimento (Ambientes)
  27. 27. Ambientes de Desevolvimento/Integração
  28. 28. Ambientes de QA/UAT
  29. 29. Ambientes de Staging/Produção
  30. 30. Recapitulando... ● Local/Dev ● Integração ● Test/QA ● Homolog/UAT ● Staging ● Production http://dltj.org/article/software-development-practice/
  31. 31. Git Workflow https://www.atlassian.com/git/workflows
  32. 32. Centralized workflow
  33. 33. Feature branch workflow
  34. 34. Git flow workflow
  35. 35. Forking workflow
  36. 36. A successful git branch model? Vincent Driessen http://nvie.com/posts/a-successful-git-branching-model
  37. 37. Git flow Workflow
  38. 38. Git flow Workflow Git flow https://github.com/nvie/gitflow Git flow cheatsheet http://danielkummer.github.io/git-flow-cheatsheet/
  39. 39. .git/Hooks
  40. 40. Client Side
  41. 41. Post Checkout ● Testes automatizados ● Branch quebrado?
  42. 42. Pre Commit ● Análise estática (Lint) ● Testes automatizados
  43. 43. Server Side
  44. 44. Pre Receive ● Análise estática (Lint) ● Testes automatizados ● Proteção de branches
  45. 45. Post Receive ● Notificações ● Testes de carga
  46. 46. Testes
  47. 47. Testes automatizados dão maior segurança e garantia de evolução contínua.
  48. 48. Joseph Yodel http://www.slideshare.net/yodamann/pragmatic-not-dogmatic-tdd-agile2012
  49. 49. Joseph Yodel http://www.slideshare.net/yodamann/pragmatic-not-dogmatic-tdd-agile2012
  50. 50. Joseph Yodel http://www.slideshare.net/yodamann/pragmatic-not-dogmatic-tdd-agile2012
  51. 51. Top features
  52. 52. Simples e fácil
  53. 53. “Everything should be made as simple as possible, but not simpler” Albert Einstein
  54. 54. Concorrente s ● Jenkins ● CircleCI ● Codeship ● Beanstalk ● Travis CI ● Go
  55. 55. Sistema de plugins
  56. 56. Runners Roda os jobs. ● Simple ● Docker ● Remote ● ...
  57. 57. Providers Pega o código fonte. ● Github ● BitBucket ● Manual Git (ou seja, outros…) ● ...
  58. 58. Jobs Executa tarefas em fases. ● Environment ● Prepare ● Test ● Deploy ● Cleanup
  59. 59. Worker vs. WebApp
  60. 60. Worker Registro dos jobs para serem executados.
  61. 61. WebApp Implementação para modificação do UI. Ex.: Página de config
  62. 62. Basic Go nuts!! o/ Faz o que você quiser, mas esquece dos helpers.
  63. 63. Controle de jobs distribuídos
  64. 64. Drone Queen
  65. 65. Queen ● Servidor ● Load ballancing ● Queue ● Cria os drones
  66. 66. Drone ● Velocidade ● Capacidade ● Executa os Jobs
  67. 67. Sistema de usuários
  68. 68. ● Admin ou leitura ● Repositórios públicos ● Sistema de convites ● Colaborador do projeto
  69. 69. Deploy on Green
  70. 70. Open Source (não é livre, ainda...)
  71. 71. Dashboard
  72. 72. Build
  73. 73. Configurações
  74. 74. Valeu !!! @revagomes renato@taller.net.br github.com/revagomes about.me/revagomes @sebas5384 sebas@taller.net.br github.com/sebas538 4

×