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
TechDays 2017 sessie Erwin Staal
Search
4Dotnet
October 19, 2017
0
37
TechDays 2017 sessie Erwin Staal
De 10 fundamenten van Continuous Delivery.
4Dotnet
October 19, 2017
Tweet
Share
More Decks by 4Dotnet
See All by 4Dotnet
Serverless security
4dotnet
0
35
TechDays 2017 sessie Gerald Versluis
4dotnet
0
26
TechDays 2017 sessie 1 Jan de Vries
4dotnet
0
63
TechDays 2017 sessie 2 Jan de Vries
4dotnet
0
46
4DotNet: Sessie Entity Framework Core - Patrick Schmidt
4dotnet
0
77
Featured
See All Featured
Why You Should Never Use an ORM
jnunemaker
PRO
59
9.5k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Thoughts on Productivity
jonyablonski
70
4.8k
Reflections from 52 weeks, 52 projects
jeffersonlam
352
21k
Imperfection Machines: The Place of Print at Facebook
scottboms
268
13k
Writing Fast Ruby
sferik
628
62k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
36
2.5k
Become a Pro
speakerdeck
PRO
29
5.5k
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
Faster Mobile Websites
deanohume
309
31k
GitHub's CSS Performance
jonrohan
1032
460k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
126
53k
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/