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
CI with Git Flow
Search
Pin-Shih Wang
July 01, 2014
Programming
2
220
CI with Git Flow
Pin-Shih Wang
July 01, 2014
Tweet
Share
More Decks by Pin-Shih Wang
See All by Pin-Shih Wang
iOS Extension
wpsteak
4
460
A tip for using magical record
wpsteak
0
120
Test With Xcode Server
wpsteak
0
69
a lighter reusable cell
wpsteak
0
57
Other Decks in Programming
See All in Programming
REALITY コマンド作成チュートリアル
nishiuriraku
0
120
The New Developer Workflow: How AI Transforms Ideas into Code
danielsogl
0
110
Enterprise Web App. Development (1): Build Tool Training Ver. 5
knakagawa
1
120
ComposeでのPicture in Picture
takathemax
0
130
ニーリーQAのこれまでとこれから
nealle
2
160
Golangci-lint v2爆誕: 君たちはどうすべきか
logica0419
1
230
SwiftDataのカスタムデータストアを試してみた
1mash0
0
140
サービスレベルを管理してアジャイルを加速しよう!! / slm-accelerate-agility
tomoyakitaura
1
200
파급효과: From AI to Android Development
l2hyunwoo
0
160
Amazon CloudWatchの地味だけど強力な機能紹介!
itotsum
0
230
On-the-fly Suggestions of Rewriting Method Deprecations
ohbarye
1
4.8k
七輪ライブラリー: Claude AI で作る Next.js アプリ
suneo3476
1
170
Featured
See All Featured
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.4k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Git: the NoSQL Database
bkeepers
PRO
430
65k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
The Power of CSS Pseudo Elements
geoffreycrofte
75
5.8k
Designing for humans not robots
tammielis
253
25k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
2.9k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
119
51k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
60k
How STYLIGHT went responsive
nonsquared
100
5.5k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
Building Flexible Design Systems
yeseniaperezcruz
329
39k
Transcript
CI with Git Flow Prince
Goal • Assembling software every time code changes • Defect
integration errors as quickly as possible • When we get the code from the repository, it will always build successfully and pass all tests • Auto deploy in different environments (ref)
Roles • RD • QA / PM / PO •
Beta Users • App Store Users
Phases • Development • QA • Beta • Release (on
App Store)
Deploy Environment • Development environment • dev-host • QA environment
• dev-host • crashlytics • Production environment • beta-host & master-host • crashlytics / mixpanel
Build Type • Private build • unit test, static analysis,
… • Integrated build • build DevEnv.ipa, delivery via TestFlight • Release build • build BetaEnv.ipa, delivery via TestFlight • build ProdEnv.ipa
Rethink Git Flow • combine Branch and Development phases
dev Jenkins OSX Server unit test static analysis testflight Development
Phase DevEnv.ipa (BetaEnv.ipa) Private Build … every commit / manually
release dev Code Freeze and start QA phase QA Phase
release dev Tester can install ipa from TestFlight Integration Build
Jenkins TestFlight DevEnv.ipa (BetaEnv.ipa) check hourly / manually QA Phase
release dev fix bugs on release branch Integration Build Jenkins
TestFlight DevEnv.ipa (BetaEnv.ipa) check hourly / manually QA Phase
master release dev Beta 1 notify distribution list Jenkins TestFlight
DevEnv.ipa BetaEnv.ipa Release Build manually Beta Phase ProdEnv.ipa
master release dev Beta 2 notify distribution list Release Build
hotfix on master branch Beta Phase Jenkins TestFlight DevEnv.ipa BetaEnv.ipa manually ProdEnv.ipa
master release dev Tag 1.1.0 manually Release Build App Store
submit Release phase ProdEnv.ipa
Developer CI Server TestFlight Github Data Storage Developer Developer Build
ipa Run Test Deploy app Build Development Pull source CI Architecture
End