Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
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
84
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
82
Agile Brazil 2016 - 5 fundamentos essenciais de padrões xUnit
stefanteixeira
0
110
Latinoware 2016 - Continuous Delivery com ferramentas open source
stefanteixeira
0
67
Ágiles 2016 - Using open source tools to support Continuous Delivery
stefanteixeira
0
54
6º Encontro do Grupo de Testes Carioca - Testes em um contexto de Continuous Delivery
stefanteixeira
0
45
TDC 2016 SP - Desmistificando cobertura de código como métrica de qualidade
stefanteixeira
0
130
TDC 2016 SP - Cobertura de código de procedures T-SQL com SQLCC
stefanteixeira
0
74
TDC 2016 SP - 5 libs de teste JavaScript que você deveria conhecer
stefanteixeira
0
61
Scrum Gathering Rio 2016 - Conteinerizando Testes com Docker Compose
stefanteixeira
0
68
Other Decks in Programming
See All in Programming
ハイパーメディア駆動アプリケーションとIslandアーキテクチャ: htmxによるWebアプリケーション開発と動的UIの局所的適用
nowaki28
0
420
C-Shared Buildで突破するAI Agent バックテストの壁
po3rin
0
390
WebRTC、 綺麗に見るか滑らかに見るか
sublimer
1
190
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
130
エディターってAIで操作できるんだぜ
kis9a
0
730
「コードは上から下へ読むのが一番」と思った時に、思い出してほしい話
panda728
PRO
38
26k
sbt 2
xuwei_k
0
300
AIの誤りが許されない業務システムにおいて“信頼されるAI” を目指す / building-trusted-ai-systems
yuya4
6
3.7k
TUIライブラリつくってみた / i-just-make-TUI-library
kazto
1
390
Rubyで鍛える仕組み化プロヂュース力
muryoimpl
0
140
안드로이드 9년차 개발자, 프론트엔드 주니어로 커리어 리셋하기
maryang
1
120
ゲームの物理 剛体編
fadis
0
350
Featured
See All Featured
A Tale of Four Properties
chriscoyier
162
23k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.8k
Build The Right Thing And Hit Your Dates
maggiecrowley
38
3k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
Code Review Best Practice
trishagee
74
19k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.8k
Balancing Empowerment & Direction
lara
5
800
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
Designing Experiences People Love
moore
143
24k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
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