Upload
grupo-de-testes-carioca
View
106
Download
1
Embed Size (px)
Citation preview
Testes em um contexto de
Continuous DeliveryStefan Teixeira
@stefan_teixeira [email protected] stefanteixeira.com.br
stefanteixeira.com
• 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: [email protected] • Twitter: twitter.com/stefan_teixeira • LinkedIn: linkedin.com/in/stefanteixeira • GitHub: github.com/stefanteixeira • SlideShare: slideshare.net/stefanteixeira
Sobre
Contexto
Contexto
• Aplicação Java (Spring Boot)
Contexto
• Aplicação Java (Spring Boot)
• Apenas server-side
Contexto
• Aplicação Java (Spring Boot)
• Apenas server-side
• Muitas integrações com outros sistemas internos
Modelando pipelines
GoCD
• Criado pela ThoughtWorks
https://www.go.cd/ | https://github.com/gocd/gocd
GoCD
• Criado pela ThoughtWorks
• Open-source (desde Fev/2014)
https://www.go.cd/ | https://github.com/gocd/gocd
GoCD
• Criado pela ThoughtWorks
• Open-source (desde Fev/2014)
• Foco em Continuous Delivery
https://www.go.cd/ | https://github.com/gocd/gocd
O poder das abstrações certas
Pipelines são first-class citizens
Mas o Jenkins não faz isso tudo?
(Alguns dos) problemas do Jenkins
• Plugin hell
(Alguns dos) problemas do Jenkins
• Plugin hell
• Falta de maiores níveis de abstração
(Alguns dos) problemas do Jenkins
• Plugin hell
• Falta de maiores níveis de abstração
• Suporte a CD somente via plugins
https://www.thoughtworks.com/pt/radar/tools/jenkins-as-a-deployment-pipeline
Pipeline
Pipeline
Pipeline -> Estágios manuais
Pipeline -> Estágios com Testes
docker-tag
docker-tag
docker-push
X
App 1
App 2
Simulator App 2
X
X
App 1
App 2
Simulator App 2X
SSH
SSH
App 1
SSH
App 1
App 2
App 3
App 4
SSH
SSH
SSH
SSH
SSH
SSH
https://github.com/cyberdyne-corp/skynet/tree/poc-bluegreen-nginx
https://github.com/cyberdyne-corp/skynet/tree/poc-bluegreen
Outros
https://github.com/dashing-io/dashing
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/
Obrigado!
Stefan Teixeira @stefan_teixeira
[email protected] stefanteixeira.com.br
stefanteixeira.com