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
TechDaysNL - De tien fundamenten van Continuous...
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Erwin Staal
October 13, 2017
Technology
110
0
Share
TechDaysNL - De tien fundamenten van Continuous Delivery
TechDaysNL - De tien fundamenten van Continuous Delivery
Erwin Staal
October 13, 2017
More Decks by Erwin Staal
See All by Erwin Staal
Networking on Azure PaaS
erwinstaal
0
80
Get up to speed with DevOps
erwinstaal
0
50
Event-driven autoscaling on Kubernetes with KEDA and Azure Functions
erwinstaal
0
250
DevOps - The Automation op compliance
erwinstaal
0
150
Architecting for Continuous Delivery
erwinstaal
0
260
Get up to speed with DevOps
erwinstaal
0
53
Get up to speed with DevOps using modern development practices
erwinstaal
0
92
Microsoft Unity
erwinstaal
0
99
De 10 geboden van Continuous Delivery
erwinstaal
0
120
Other Decks in Technology
See All in Technology
開発にAIを組織として取り入れる一歩目とその後
yujishibuya
0
220
大規模環境でどのように監視を実現する?
yuobayashi
1
140
AI とサービス・デザイン / AI and Service Design
ks91
PRO
0
170
TypeScriptエンジニアのためのWASMランタイム入門:AssemblyScriptから理解するメモリの実態(ayano)
ayanoyuki
0
130
テストコードのないプロジェクトにテストを根付かせる
tttol
0
110
NFLコンペ2026 解法
lycorptech_jp
PRO
0
110
論文紹介:Pixal3D (SIGGRAPH 2026)
tenten0727
0
720
Harnessing the Power of Mocks and Stubs in PHPUnit / #laravellivejp
asumikam
0
520
AI駆動開発でなんでもハンズオン環境をつくってみた
yoshimi0227
0
130
TypeScriptとAngular Signal で実現する保守性の高いアプリケーション設計 - 3層アーキテクチャによる責務分離の実践(たつかわ) https://2026.tskaigi.org/talks/10
nealle
1
340
キャリア25年目にしてTypeScript に出会うまで - 「型」を通じて振り返るプログラミング言語遍歴 / Meeting TypeScript After 25 Years in Tech - Looking Back at My Programming Language Journey Through "Types"
bitkey
PRO
2
280
TypeScript で Platform SDK を作る技術
toiroakr
1
290
Featured
See All Featured
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
560
Deep Space Network (abreviated)
tonyrice
0
150
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
190
The Limits of Empathy - UXLibs8
cassininazir
1
340
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
150
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
220
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
180
The #1 spot is gone: here's how to win anyway
tamaranovitovic
2
1.1k
Everyday Curiosity
cassininazir
0
210
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2k
Transcript
None
None
Software engineer ALM Consultant
[email protected]
@erwin_staal Erwin Staal
Software engineer ALM Consultant
[email protected]
@erwin_staal Erwin Staal
Continuous Delivery? • Continuous Delivery is the ability to get
changes of all types into the hands of users, safely and quickly in a sustainable way • Sneller leveren • Hogere kwaliteit • Minder risico bij releases • Vroegtijdig feedback • Zicht op voortgang
Continuous Integration • Commit -> build -> test • Merged
vaak naar master
Continuous Delivery • Continuous Integration • Push-button deployments • Leveren
software > nieuwe features • Snel en geautomatiseerd feedback op changes
None
De hele organisatie helpt software te leveren
< /> As a {who} I want {what} Because {why}
+ + Waardeer alles dat klein is
Neem tijd om te refactoren “Any fool can write code
that a computer can understand. Good programmers write code that humans can understand.” - Martin Fowler
Automatiseer zoveel mogelijk testen
Automatiseer zoveel mogelijk testen
Automatiseer zoveel mogelijk testen
Implementeer je eigen pipeline Commit Stage Compile Unit test Analysis
Build Installers Automated Acceptance Testing Automated Capacity Testing Manual Testing Exploratory Testing Release Monitoring
Definieer je pipeline als code function findOrCreateBuild(account, teamProject, token, que
dockerHostEndpoint, dockerRegistryEndpoint) { util.tryFindBuild(account, teamProject, token, target, f if (e) { callback(e); } if (!bld) { createBuild(account, teamProject, token, queueId, dockerHostEndpoint, dockerRegistryEndpoint); } else { gen.log(`+ Found build definition`); } }); }
Definieer je infrastructuur als code Configuration ServerConfig { Import-DscResource -Module
xWebAdministration Node "webserver" { WindowsFeature installIIS { Ensure="Present" Name="Web-Server" } WindowsFeature installWebAspNet45 { Ensure="Present" Name="Web-Asp-Net45" } } }
Houdt de pipeline snel
werkende pipeline prioriteit Geef een
127.0.0.1 Draai de pipeline lokaal
Merge Merge Trunk Merge elke dag naar master
Trunk 2 2 3 4 2 3 1 1 1
1 4 5 2 3 1 2 1 3 2 1 1 4 3 2 Merge elke dag naar master
Merge Merge Trunk 2 2 3 4 2 3 1
1 1 1 4 5 2 3 1 2 1 3 2 1 1 4 3 2 1 4 3 2 1 4 5 2 3 Merge elke dag naar master
Trunk 1 2 3 4 5 1 1 3 4
2 4 5 2 1 3 2 4 3 Merge elke dag naar master
Merge elke dag naar master
Merge elke dag naar master
Feature A Feature B Dev Test Prod Scheidt deployment van
release
Vragen? Erwin Staal
[email protected]
@erwin_staal https://www.linkedin.com/in/erwinstaal/