Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
TDC 2016 SP - Continuous Delivery para aplicaçõ...
Search
Stefan Teixeira
July 07, 2016
Programming
0
81
TDC 2016 SP - Continuous Delivery para aplicações Java com ferramentas open-source
Palestra apresentada na trilha DevOps Java do TDC SP 2016, no dia 07/07.
Stefan Teixeira
July 07, 2016
Tweet
Share
More Decks by Stefan Teixeira
See All by Stefan Teixeira
Scrum Gathering Portugal 2016 - Containerizing Tests with Docker
stefanteixeira
0
80
Agile Brazil 2016 - 5 fundamentos essenciais de padrões xUnit
stefanteixeira
0
110
Latinoware 2016 - Continuous Delivery com ferramentas open source
stefanteixeira
0
63
Ágiles 2016 - Using open source tools to support Continuous Delivery
stefanteixeira
0
50
6º Encontro do Grupo de Testes Carioca - Testes em um contexto de Continuous Delivery
stefanteixeira
0
42
TDC 2016 SP - Desmistificando cobertura de código como métrica de qualidade
stefanteixeira
0
120
TDC 2016 SP - Cobertura de código de procedures T-SQL com SQLCC
stefanteixeira
0
70
TDC 2016 SP - 5 libs de teste JavaScript que você deveria conhecer
stefanteixeira
0
59
Scrum Gathering Rio 2016 - Conteinerizando Testes com Docker Compose
stefanteixeira
0
66
Other Decks in Programming
See All in Programming
カクヨムAndroidアプリのリブート
numeroanddev
0
440
GoのGenericsによるslice操作との付き合い方
syumai
3
680
Julia という言語について (FP in Julia « SIDE: F ») for 関数型まつり2025
antimon2
3
970
たった 1 枚の PHP ファイルで実装する MCP サーバ / MCP Server with Vanilla PHP
okashoi
1
150
生成AIで日々のエラー調査を進めたい
yuyaabo
0
630
Cline指示通りに動かない? AI小説エージェントで学ぶ指示書の書き方と自動アップデートの仕組み
kamomeashizawa
1
560
Gleamという選択肢
comamoca
6
750
Webの外へ飛び出せ NativePHPが切り拓くPHPの未来
takuyakatsusa
1
210
What Spring Developers Should Know About Jakarta EE
ivargrimstad
0
150
Beyond Portability: Live Migration for Evolving WebAssembly Workloads
chikuwait
0
390
Go1.25からのGOMAXPROCS
kuro_kurorrr
1
790
データベースコネクションプール(DBCP)の変遷と理解
fujikawa8
1
270
Featured
See All Featured
StorybookのUI Testing Handbookを読んだ
zakiyama
30
5.8k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.5k
Docker and Python
trallard
44
3.4k
Optimizing for Happiness
mojombo
379
70k
Intergalactic Javascript Robots from Outer Space
tanoku
271
27k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.4k
Raft: Consensus for Rubyists
vanstee
140
7k
Bash Introduction
62gerente
614
210k
How GitHub (no longer) Works
holman
314
140k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Reflections from 52 weeks, 52 projects
jeffersonlam
351
20k
Transcript
Globalcode – Open4education Continuous Delivery para aplicações Java com ferramentas
open-source Stefan Teixeira
[email protected]
/ @stefan_teixeira
• 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
None
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 -> Passos manuais
None
None
None
None
None
None
None
None
None
None
None
docker-tag
docker-tag docker-push
None
None
None
None
None
None
None
X
App 1 App 2 Simulator App 2 X
None
None
None
None
X
App 1 App 2 Simulator App 2 X
None
None
None
None
None
SSH
SSH
App 1 SSH
None
None
App 1 App 2 App 3 App 4
None
None
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
None
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/
Globalcode – Open4education Stefan Teixeira @stefan_teixeira
[email protected]
Obrigado! stefanteixeira.com.br stefanteixeira.com