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
Erwin Staal
October 13, 2017
Technology
0
86
TechDaysNL - De tien fundamenten van Continuous Delivery
TechDaysNL - De tien fundamenten van Continuous Delivery
Erwin Staal
October 13, 2017
Tweet
Share
More Decks by Erwin Staal
See All by Erwin Staal
Networking on Azure PaaS
erwinstaal
0
68
Get up to speed with DevOps
erwinstaal
0
37
Event-driven autoscaling on Kubernetes with KEDA and Azure Functions
erwinstaal
0
130
DevOps - The Automation op compliance
erwinstaal
0
100
Architecting for Continuous Delivery
erwinstaal
0
190
Get up to speed with DevOps
erwinstaal
0
48
Get up to speed with DevOps using modern development practices
erwinstaal
0
67
Microsoft Unity
erwinstaal
0
73
De 10 geboden van Continuous Delivery
erwinstaal
0
99
Other Decks in Technology
See All in Technology
FlutterアプリにおけるSLI/SLOを用いたユーザー体験の可視化と計測基盤構築
ostk0069
0
190
LINEヤフーにおけるPrerender技術の導入とその効果
narirou
2
650
型チェック 速度改善 奮闘記⌛
tocomi
1
190
組織成長を加速させるオンボーディングの取り組み
sudoakiy
3
310
[CV勉強会@関東 ECCV2024 読み会] オンラインマッピング x トラッキング MapTracker: Tracking with Strided Memory Fusion for Consistent Vector HD Mapping (Chen+, ECCV24)
abemii
0
230
Storybook との上手な向き合い方を考える
re_taro
5
2.5k
TanStack Routerに移行するのかい しないのかい、どっちなんだい! / Are you going to migrate to TanStack Router or not? Which one is it?
kaminashi
0
650
SSMRunbook作成の勘所_20241120
koichiotomo
3
180
VideoMamba: State Space Model for Efficient Video Understanding
chou500
0
250
テストコード品質を高めるためにMutation Testingライブラリ・Strykerを実戦導入してみた話
ysknsid25
8
2.8k
Python(PYNQ)がテーマのAMD主催のFPGAコンテストに参加してきた
iotengineer22
0
570
『Firebase Dynamic Links終了に備える』 FlutterアプリでのAdjust導入とDeeplink最適化
techiro
0
230
Featured
See All Featured
The Power of CSS Pseudo Elements
geoffreycrofte
73
5.3k
Why You Should Never Use an ORM
jnunemaker
PRO
54
9.1k
Why Our Code Smells
bkeepers
PRO
334
57k
[RailsConf 2023] Rails as a piece of cake
palkan
52
4.9k
Navigating Team Friction
lara
183
14k
Done Done
chrislema
181
16k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
26
1.4k
Intergalactic Javascript Robots from Outer Space
tanoku
269
27k
Typedesign – Prime Four
hannesfritz
40
2.4k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
506
140k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
6.9k
Reflections from 52 weeks, 52 projects
jeffersonlam
346
20k
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/