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
Ágiles 2016 - Using open source tools to suppor...
Search
Stefan Teixeira
October 07, 2016
Programming
0
57
Ágiles 2016 - Using open source tools to support Continuous Delivery
This talk was presented at Ágiles 2016
http://agiles2016.agiles.org/
Stefan Teixeira
October 07, 2016
Tweet
Share
More Decks by Stefan Teixeira
See All by Stefan Teixeira
Scrum Gathering Portugal 2016 - Containerizing Tests with Docker
stefanteixeira
0
83
Agile Brazil 2016 - 5 fundamentos essenciais de padrões xUnit
stefanteixeira
0
110
Latinoware 2016 - Continuous Delivery com ferramentas open source
stefanteixeira
0
68
6º Encontro do Grupo de Testes Carioca - Testes em um contexto de Continuous Delivery
stefanteixeira
0
48
TDC 2016 SP - Desmistificando cobertura de código como métrica de qualidade
stefanteixeira
0
130
TDC 2016 SP - Continuous Delivery para aplicações Java com ferramentas open-source
stefanteixeira
0
86
TDC 2016 SP - Cobertura de código de procedures T-SQL com SQLCC
stefanteixeira
0
76
TDC 2016 SP - 5 libs de teste JavaScript que você deveria conhecer
stefanteixeira
0
62
Scrum Gathering Rio 2016 - Conteinerizando Testes com Docker Compose
stefanteixeira
0
70
Other Decks in Programming
See All in Programming
Ruby and LLM Ecosystem 2nd
koic
1
620
オブザーバビリティ駆動開発って実際どうなの?
yohfee
3
830
モジュラモノリスにおける境界をGoのinternalパッケージで守る
magavel
0
3.5k
ふつうのRubyist、ちいさなデバイス、大きな一年 / Ordinary Rubyists, Tiny Devices, Big Year
chobishiba
1
430
DevinとClaude Code、SREの現場で使い倒してみた件
karia
1
1k
Fundamentals of Software Engineering In the Age of AI
therealdanvega
1
250
AI主導でFastAPIのWebサービスを作るときに 人間が構造化すべき境界線
okajun35
0
720
Go Conference mini in Sendai 2026 : Goに新機能を提案し実装されるまでのフロー徹底解説
yamatoya
0
570
エージェント開発初心者の僕がエージェントを作った話と今後やりたいこと
thasu0123
0
240
コーディングルールの鮮度を保ちたい / keep-fresh-go-internal-conventions
handlename
0
200
GC言語のWasm化とComponent Modelサポートの実践と課題 - Scalaの場合
tanishiking
0
110
コードレビューをしない選択 #でぃーぷらすトウキョウ
kajitack
3
910
Featured
See All Featured
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
3.7k
エンジニアに許された特別な時間の終わり
watany
106
240k
New Earth Scene 8
popppiees
1
1.7k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
140
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
400
Thoughts on Productivity
jonyablonski
75
5.1k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
2.4k
GraphQLとの向き合い方2022年版
quramy
50
14k
Done Done
chrislema
186
16k
Practical Orchestrator
shlominoach
191
11k
Producing Creativity
orderedlist
PRO
348
40k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
1
150
Transcript
Using open source tools to support Continuous Delivery Stefan Teixeira
@stefan_teixeira
[email protected]
stefanteixeira.com.br stefanteixeira.com
• QA Automation Engineer @ Toptal • Tech blogs: stefanteixeira.com.br
(pt-br) / stefanteixeira.com (en) Contact: • E-mail:
[email protected]
• Twitter: twitter.com/stefan_teixeira • LinkedIn: linkedin.com/in/stefanteixeira • GitHub: github.com/stefanteixeira • SlideShare: slideshare.net/stefanteixeira About
Context
Context • Java application (Spring Boot)
Context • Java application (Spring Boot) • Server-side only
Context • Java application (Spring Boot) • Server-side only •
Integrations with other internal applications
Modeling Pipelines
None
GoCD • Created by ThoughtWorks https://www.go.cd/ | https://github.com/gocd/gocd
GoCD • Created by ThoughtWorks • Open-source (since February 2014)
https://www.go.cd/ | https://github.com/gocd/gocd
GoCD • Created by ThoughtWorks • Open-source (since February 2014)
• Focused on Continuous Delivery https://www.go.cd/ | https://github.com/gocd/gocd
The power of the right abstractions
Pipelines are first-class citizens
But why not use Jenkins?
Some Jenkins issues • Plugin hell
Some Jenkins issues • Plugin hell • Lack of more
abstraction levels
Some Jenkins issues • Plugin hell • Lack of more
abstraction levels • CD support only via plugins
https://www.thoughtworks.com/pt/radar/tools/jenkins-as-a-deployment-pipeline
Deployment Pipeline
Deployment Pipeline
Manual steps
None
None
None
None
None
None
None
None
None
None
None
docker-tag
docker-tag docker-push
None
None
None
Mutators example (PIT)
None
None
None
None
X
App 1 App 2 App 2 Simulator 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
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
Other tools
None
http://locust.io/
https://github.com/dashing-io/dashing
References • 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 • Tools: • 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/ • http://locust.io/
Thanks! Stefan Teixeira @stefan_teixeira
[email protected]
stefanteixeira.com.br stefanteixeira.com