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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Stefan Teixeira
October 07, 2016
Programming
65
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Á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
More Decks by Stefan Teixeira
See All by Stefan Teixeira
Scrum Gathering Portugal 2016 - Containerizing Tests with Docker
stefanteixeira
0
91
Agile Brazil 2016 - 5 fundamentos essenciais de padrões xUnit
stefanteixeira
0
120
Latinoware 2016 - Continuous Delivery com ferramentas open source
stefanteixeira
0
75
6º Encontro do Grupo de Testes Carioca - Testes em um contexto de Continuous Delivery
stefanteixeira
0
51
TDC 2016 SP - Desmistificando cobertura de código como métrica de qualidade
stefanteixeira
0
140
TDC 2016 SP - Continuous Delivery para aplicações Java com ferramentas open-source
stefanteixeira
0
94
TDC 2016 SP - Cobertura de código de procedures T-SQL com SQLCC
stefanteixeira
0
82
TDC 2016 SP - 5 libs de teste JavaScript que você deveria conhecer
stefanteixeira
0
68
Scrum Gathering Rio 2016 - Conteinerizando Testes com Docker Compose
stefanteixeira
0
76
Other Decks in Programming
See All in Programming
Foundation Models frameworkで画像分析
ryodeveloper
1
600
TSX の <Hoge<Fuga>> という構文に驚いた話 / tsx-type-argument-syntax
kanaru0928
0
210
仕様書を書く前にハーネスを作る - Agent Native開発は「探索を速く、判定を固く」
gotalab555
4
1.6k
自動化したのに回らないテスト運用の壁ーAI時代の品質責任と生産性
mfunaki
0
130
php-fpmのプロセスが枯渇した日-調査・対処・そして本当にやるべきだったこと-
shibuchaaaan
0
240
FDEが実現するAI駆動経営の現在地
gonta
2
270
属人化した知識を、 AIが辿れる地図にする
pkshadeck
PRO
1
140
AI Engineeringは、AIプロダクトだけのものか? 〜AIがソフトウェアを作る時代の新しい当たり前〜 / No AI in your product. AI Engineering in your development.
rkaga
4
380
そこに3びきプロダクトがいるじゃろう——生成AI時代における“価値が届かない理由”の構造
kosuket
0
420
Welcome to the "Parametricity" 🏙️ − Generic だけど Specific な世界 −
guvalif
PRO
1
200
torikago - Ruby::Boxで照らすモジュラモノリスの実行境界
se4weed
1
340
関東Kaggler会_NVIDIA_Nemotron_コンペ_振り返り
rick_ds
0
460
Featured
See All Featured
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
270
Building an army of robots
kneath
306
46k
Embracing the Ebb and Flow
colly
88
5.1k
Unsuck your backbone
ammeep
672
58k
Making the Leap to Tech Lead
cromwellryan
135
10k
Into the Great Unknown - MozCon
thekraken
41
2.7k
Facilitating Awesome Meetings
lara
57
7.1k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
Designing for humans not robots
tammielis
254
26k
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
400
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
How to Think Like a Performance Engineer
csswizardry
28
2.7k
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