Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
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
AIコーディングエージェント(NotebookLM)
kondai24
0
230
gunshi
kazupon
1
120
マスタデータ問題、マイクロサービスでどう解くか
kts
0
120
Implementation Patterns
denyspoltorak
0
110
公共交通オープンデータ × モバイルUX 複雑な運行情報を 『直感』に変換する技術
tinykitten
PRO
0
160
HTTPプロトコル正しく理解していますか? 〜かわいい猫と共に学ぼう。ฅ^•ω•^ฅ ニャ〜
hekuchan
2
140
안드로이드 9년차 개발자, 프론트엔드 주니어로 커리어 리셋하기
maryang
1
130
実はマルチモーダルだった。ブラウザの組み込みAI🧠でWebの未来を感じてみよう #jsfes #gemini
n0bisuke2
3
1.3k
Go コードベースの構成と AI コンテキスト定義
andpad
0
140
Canon EOS R50 V と R5 Mark II 購入でみえてきた最近のデジイチ VR180 事情、そして VR180 静止画に活路を見出すまで
karad
0
140
tsgolintはいかにしてtypescript-goの非公開APIを呼び出しているのか
syumai
7
2.3k
ゆくKotlin くるRust
exoego
1
160
Featured
See All Featured
30 Presentation Tips
portentint
PRO
1
170
How to Talk to Developers About Accessibility
jct
1
85
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
120
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
The Curse of the Amulet
leimatthew05
0
4.7k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
850
Discover your Explorer Soul
emna__ayadi
2
1k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
190
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
170
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
0
3.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