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
22
Other Decks in Programming
See All in Programming
Ktorで簡単AIアプリケーション
tsukakei
0
100
社会人になっても趣味開発を続けたい! / traPavilion
mazrean
1
100
One Enishi After Another
snoozer05
PRO
0
160
CSC305 Lecture 10
javiergs
PRO
0
230
AI駆動で0→1をやって見えた光と伸びしろ
passion0102
1
830
When Dependencies Fail: Building Antifragile Applications in a Fragile World
selcukusta
0
110
Claude Agent SDK を使ってみよう
hyshu
0
1.4k
登壇は dynamic! な営みである / speech is dynamic
da1chi
0
360
SwiftDataを使って10万件のデータを読み書きする
akidon0000
0
240
CSC509 Lecture 07
javiergs
PRO
0
240
Devoxx BE - Local Development in the AI Era
kdubois
0
140
実践Claude Code:20の失敗から学ぶAIペアプログラミング
takedatakashi
18
8.5k
Featured
See All Featured
Testing 201, or: Great Expectations
jmmastey
45
7.7k
Designing Experiences People Love
moore
142
24k
Documentation Writing (for coders)
carmenintech
75
5.1k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
127
54k
Side Projects
sachag
455
43k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
34
2.3k
Large-scale JavaScript Application Architecture
addyosmani
514
110k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
Fireside Chat
paigeccino
41
3.7k
How to Think Like a Performance Engineer
csswizardry
27
2.1k
Gamification - CAS2011
davidbonilla
81
5.5k
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