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
48
Á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
79
Agile Brazil 2016 - 5 fundamentos essenciais de padrões xUnit
stefanteixeira
0
110
Latinoware 2016 - Continuous Delivery com ferramentas open source
stefanteixeira
0
63
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 - Continuous Delivery para aplicações Java com ferramentas open-source
stefanteixeira
0
80
TDC 2016 SP - Cobertura de código de procedures T-SQL com SQLCC
stefanteixeira
0
68
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
65
Other Decks in Programming
See All in Programming
なまけものオバケたち -PHP 8.4 に入った新機能の紹介-
tanakahisateru
1
140
競技プログラミングへのお誘い@阪大BOOSTセミナー
kotamanegi
0
390
Compose UIテストを使った統合テスト
hiroaki404
0
120
PHPカンファレンス 2024|共創を加速するための若手の技術挑戦
weddingpark
0
120
数十万行のプロジェクトを Scala 2から3に完全移行した
xuwei_k
0
710
Jaspr Dart Web Framework 박제창 @Devfest 2024
itsmedreamwalker
0
140
Cloudflare MCP ServerでClaude Desktop からWeb APIを構築
kutakutat
1
630
CQRS+ES の力を使って効果を感じる / Feel the effects of using the power of CQRS+ES
seike460
PRO
0
230
Асинхронность неизбежна: как мы проектировали сервис уведомлений
lamodatech
0
1.3k
「とりあえず動く」コードはよい、「読みやすい」コードはもっとよい / Code that 'just works' is good, but code that is 'readable' is even better.
mkmk884
6
1.3k
PHPとAPI Platformで作る本格的なWeb APIアプリケーション(入門編) / phpcon 2024 Intro to API Platform
ttskch
0
360
BEエンジニアがFEの業務をできるようになるまでにやったこと
yoshida_ryushin
0
100
Featured
See All Featured
[RailsConf 2023] Rails as a piece of cake
palkan
53
5.1k
A better future with KSS
kneath
238
17k
4 Signs Your Business is Dying
shpigford
182
21k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
6
490
How to Think Like a Performance Engineer
csswizardry
22
1.3k
No one is an island. Learnings from fostering a developers community.
thoeni
19
3.1k
Designing for Performance
lara
604
68k
We Have a Design System, Now What?
morganepeng
51
7.3k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Agile that works and the tools we love
rasmusluckow
328
21k
Imperfection Machines: The Place of Print at Facebook
scottboms
266
13k
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