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
Continuous Deployment
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Martin Shwalbe
June 15, 2013
Programming
180
0
Share
Continuous Deployment
Martin Shwalbe
June 15, 2013
More Decks by Martin Shwalbe
See All by Martin Shwalbe
IT-P_GmbH_Folienmaster_2016.pdf
hounddog
0
25
Other Decks in Programming
See All in Programming
RTSPクライアントを自作してみた話
simotin13
0
410
AI時代の仕事技芸論 — ソフトウェア開発で「遊ぶように働く」職人的熟達のすすめ
kuranuki
1
580
AI 時代のソフトウェア設計の学び方
masuda220
PRO
29
11k
New "Type" system on PicoRuby
pocke
1
410
Lemonade + Foundry Toolkit でお手軽アプリ開発
seosoft
1
260
JJUG CCC 2026 Spring: JSpecify で実現する Kotlin フレンドリーな Java API 設計
ternbusty
1
130
ビジネスモデルから紐解く、AI+型駆動開発
hirokiomote
2
5.1k
[2026年度第1回ORセミナー] 計画最適化ベンチャーと競技プログラミング人材
terryu16
0
230
AI駆動開発で崩れていくコードベースを立て直す
kyoko_nr_nr
1
410
Inspired By RubyKaigi (EN)
atzzcokek
0
490
軽量Java基盤の設計 DIコンテナに頼らない、長期保守と1秒起動の実現 JJUG CCC 2026 Spring
macha64
0
340
Migrations : C'est une question d'hygiène !
vinceamstoutz
0
2.8k
Featured
See All Featured
How GitHub (no longer) Works
holman
316
150k
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
370
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
160
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
230
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
240
Designing for humans not robots
tammielis
254
26k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
The Curious Case for Waylosing
cassininazir
1
370
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.3k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
190
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
290
Transcript
Zf2 contributor Modules developer - MARTIN SHWALBE @mshwalbe Hounddog
CONTINUOUS DEPLOYMENT
AUTOMATION
REDUCE CODE INVENTORY
REDUCE TECHNICAL DEBT
SAFETY
CONFIDENCE
HAPPY CUSTOMERS
HAPPY DEVELOPERS
CONTINUOUS DEPLOYMENT LIFECYCLE
None
CONTINUOUS INTEGRATION "Continuous Integration is a software development practice where
members of a team integrate their work frequently" -- Martin Fowler
ADVANTAGES Continously integrate new code with the existing code repository
All tests run at each integration cycle Immidiate Feedback of code quality through Metrics Constant availability of a deployable source Increased Visibility
CONTINUOUS INTEGRATION Continuous Integration without tests does not work Start
developing tests Write tests for each new identified bug Develop tests for each new feature
ZERO DOWNTIME DEPLOYMENT Symlink production directory nodejs: switch port or
any other method you can come up with
UI UPGRADES Keep visible feature changes hidden until they are
ready i f ( $ c o n f i g . f e a t u r e ) { / / S h o w s o m e c o o l n e w s t u f f } e l s e { / / S h o w o l d b o r i n g s t u f f }
OLD BORING UI
NEW COOL FEATURE
DATABASE UPGRADES Enable automatic upgrading of your database schema
DATABASE UPGRADE Synchronize Database and Code on deployment Apply Non
Destructive Upgrades Make Schema changes Downgradable
ADDITIONS DO NOT CAUSE ANY PROBLEMS
WORKING ENVIRONMENT
DESTRUCTIVE DATABASE UPGRADE
UNHAPPY CUSTOMER
DESTRUCTIVE DATABASE UPGRADE Destructive changes need a bit more care,
the degree of which depends on the degree of destruction involved
WORKING ENVIRONMENT
DATABASE UPGRADE Apply changes without breaking backwards compatibility
DATABASE UPGRADE Apply changes without breaking backwards compatibility
CI Platform CI Server CI & Release Management AVAILABLE TOOLS
ONE-Click App Releases many more...
THANK YOU Questions? Martin Shwalbe | @mshwalbe