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
Martin Shwalbe
June 15, 2013
Programming
0
180
Continuous Deployment
Martin Shwalbe
June 15, 2013
Tweet
Share
More Decks by Martin Shwalbe
See All by Martin Shwalbe
IT-P_GmbH_Folienmaster_2016.pdf
hounddog
0
21
Other Decks in Programming
See All in Programming
AIプログラマーDevinは PHPerの夢を見るか?
shinyasaita
1
240
Startups on Rails in Past, Present and Future–Irina Nazarova, RailsConf 2025
irinanazarova
0
200
Rails Frontend Evolution: It Was a Setup All Along
skryukov
0
240
Claude Code + Container Use と Cursor で作る ローカル並列開発環境のススメ / ccc local dev
kaelaela
12
6.7k
PHPで始める振る舞い駆動開発(Behaviour-Driven Development)
ohmori_yusuke
2
420
iOS 26にアップデートすると実機でのHot Reloadができない?
umigishiaoi
0
140
ご注文の差分はこちらですか? 〜 AWS CDK のいろいろな差分検出と安全なデプロイ
konokenj
3
470
20250704_教育事業におけるアジャイルなデータ基盤構築
hanon52_
5
910
PipeCDのプラグイン化で目指すところ
warashi
1
290
MDN Web Docs に日本語翻訳でコントリビュートしたくなる
ohmori_yusuke
1
130
たった 1 枚の PHP ファイルで実装する MCP サーバ / MCP Server with Vanilla PHP
okashoi
1
280
Porting a visionOS App to Android XR
akkeylab
0
660
Featured
See All Featured
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
357
30k
Mobile First: as difficult as doing things right
swwweet
223
9.7k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.7k
Why Our Code Smells
bkeepers
PRO
336
57k
Why You Should Never Use an ORM
jnunemaker
PRO
58
9.4k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
The Art of Programming - Codeland 2020
erikaheidi
54
13k
How to Think Like a Performance Engineer
csswizardry
25
1.7k
Gamification - CAS2011
davidbonilla
81
5.4k
Designing Experiences People Love
moore
142
24k
Navigating Team Friction
lara
187
15k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
35
2.4k
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