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
170
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
16
Other Decks in Programming
See All in Programming
GitHub Copilot Tips and Tricks
yuichielectric
26
7.4k
Understanding Ast By Looking
inouehi
0
120
プロンプトエンジニアリング入門
tomokusaba
2
970
Why 1 + 1 = 2 in Swift?
1plus4
1
240
PHPでOfficeファイルを取り扱う! PHP Officeライブラリを プロダクトに組み込んだ話
hirobe1999
0
840
ファイル先頭の use の意味、説明できますか? 〜PHP の namespace と autoloading の関係を正しく理解しよう〜 / namespace and autoloading in php
okashoi
2
470
Kotlinを用いたDSL的な設計手法と使用上の注意
kohii00
3
530
Deno に Web 標準 API を実装する / Implementing Web Standard API to Deno
petamoriken
0
350
object-oriented-conference-2024
fuwasegu
6
1.9k
PHP8の機能を使って堅牢にコードを書く
fendo181
6
2.6k
Introduction for Open Source Swift Workshop
giginet
PRO
0
180
SwiftUI, Jetpack Composeの導入で変化した「家族アルバム みてね」のアプリ開発体験
hicka04
6
400
Featured
See All Featured
The Cost Of JavaScript in 2023
addyosmani
13
3.7k
Rebuilding a faster, lazier Slack
samanthasiow
72
8.2k
Fashionably flexible responsive web design (full day workshop)
malarkey
397
65k
How to train your dragon (web standard)
notwaldorf
71
5.1k
Scaling GitHub
holman
456
140k
What's new in Ruby 2.0
geeforr
335
31k
Music & Morning Musume
bryan
39
5.5k
Designing for humans not robots
tammielis
247
25k
Optimising Largest Contentful Paint
csswizardry
7
2.3k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
19
1.6k
RailsConf 2023
tenderlove
0
510
The Mythical Team-Month
searls
214
42k
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