Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Testes em um contexto de Continuous Delivery

142 views

Published on

Com a popularidade e o crescimento da cultura DevOps, temos hoje dezenas de ferramentas para fazer os mais diversos tipos de tarefas dentro de um pipeline de Continuous Delivery. É comum ver pessoas com dúvidas sobre quais estágios um pipeline deve ter, quais ferramentas usar, onde usar cada tipo de ferramenta, etc.

Published in: Software
  • Be the first to comment

  • Be the first to like this

Testes em um contexto de Continuous Delivery

  1. 1. Testes em um contexto de Continuous Delivery Stefan Teixeira @stefan_teixeira stefanfk@gmail.com stefanteixeira.com.br stefanteixeira.com
  2. 2. • QA Automation Engineer @ Toptal • Blogs técnicos: stefanteixeira.com.br (pt-br) / stefanteixeira.com (en) • Co-organizador dos meetups DevOps Carioca e Grupo de Testes Carioca Contatos: • E-mail: stefanfk@gmail.com • Twitter: twitter.com/stefan_teixeira • LinkedIn: linkedin.com/in/stefanteixeira • GitHub: github.com/stefanteixeira • SlideShare: slideshare.net/stefanteixeira Sobre
  3. 3. Contexto
  4. 4. Contexto • Aplicação Java (Spring Boot)
  5. 5. Contexto • Aplicação Java (Spring Boot) • Apenas server-side
  6. 6. Contexto • Aplicação Java (Spring Boot) • Apenas server-side • Muitas integrações com outros sistemas internos
  7. 7. Modelando pipelines
  8. 8. GoCD • Criado pela ThoughtWorks https://www.go.cd/ | https://github.com/gocd/gocd
  9. 9. GoCD • Criado pela ThoughtWorks • Open-source (desde Fev/2014) https://www.go.cd/ | https://github.com/gocd/gocd
  10. 10. GoCD • Criado pela ThoughtWorks • Open-source (desde Fev/2014) • Foco em Continuous Delivery https://www.go.cd/ | https://github.com/gocd/gocd
  11. 11. O poder das abstrações certas
  12. 12. Pipelines são first-class citizens
  13. 13. Mas o Jenkins não faz isso tudo?
  14. 14. (Alguns dos) problemas do Jenkins • Plugin hell
  15. 15. (Alguns dos) problemas do Jenkins • Plugin hell • Falta de maiores níveis de abstração
  16. 16. (Alguns dos) problemas do Jenkins • Plugin hell • Falta de maiores níveis de abstração • Suporte a CD somente via plugins
  17. 17. https://www.thoughtworks.com/pt/radar/tools/jenkins-as-a-deployment-pipeline
  18. 18. Pipeline
  19. 19. Pipeline
  20. 20. Pipeline -> Estágios manuais
  21. 21. Pipeline -> Estágios com Testes
  22. 22. docker-tag
  23. 23. docker-tag docker-push
  24. 24. X
  25. 25. App 1 App 2 Simulator App 2 X
  26. 26. X
  27. 27. App 1 App 2 Simulator App 2 X
  28. 28. SSH
  29. 29. SSH
  30. 30. App 1 SSH
  31. 31. App 1 App 2 App 3 App 4
  32. 32. SSH
  33. 33. SSH
  34. 34. SSH
  35. 35. SSH
  36. 36. SSH
  37. 37. SSH
  38. 38. https://github.com/cyberdyne-corp/skynet/tree/poc-bluegreen-nginx
  39. 39. https://github.com/cyberdyne-corp/skynet/tree/poc-bluegreen
  40. 40. Outros
  41. 41. https://github.com/dashing-io/dashing
  42. 42. Referências • Blue-Green deployment: • https://technologyconversations.com/2015/07/02/scaling-to-infinity-with- docker-swarm-docker-compose-and-consul-part-34-blue-green-deployment- automation-and-self-healing-procedure/ • https://github.com/cyberdyne-corp/skynet/tree/poc-bluegreen-nginx • https://github.com/cyberdyne-corp/skynet/tree/poc-bluegreen • Ferramentas: • https://www.packer.io/ • https://www.go.cd/ • https://www.terraform.io/ • https://www.consul.io/ • https://www.ansible.com/ • http://gliderlabs.com/registrator/latest/ • http://pitest.org/ • http://rest-assured.io/ • http://sparkjava.com/
  43. 43. Obrigado! Stefan Teixeira @stefan_teixeira stefanfk@gmail.com stefanteixeira.com.br stefanteixeira.com

×