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
170
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
440
A tip for using magical record
wpsteak
0
84
Test With Xcode Server
wpsteak
0
50
a lighter reusable cell
wpsteak
0
50
Other Decks in Programming
See All in Programming
Elm Form Validation
bkuhlmann
0
510
#phpcon_odawara オープン・クローズドなテストフィクスチャを求めて / open closed test fixtures
77web
3
240
禅の心を手に入れよ
eltociear
1
280
Scalable Customer Journey Orchestration (CJO)
lewuathe
0
410
Fast JSX: Don't clone props object #28768
yossydev
1
160
Compose-View Interop in Practice (mDevCamp 2024)
stewemetal
0
160
Try creating your own orderedmap
kazamori
1
170
try! Swift Tokyo 初参加報告LT
hinakko2
0
230
ServerAction で Progressive Enhancement はどこまで頑張れるか? / progressive-enhancement-with-server-action
takefumiyoshii
6
400
Goのエラースタックトレースの歴史と今後
sonatard
10
1.8k
検証も兼ねて個人開発でHonoとかと向き合った話
hanetsuki
1
1.3k
GraphQLサーバの構成要素を整理する #ハッカー鮨 #tsukijigraphql / graphql server technology selection
izumin5210
4
900
Featured
See All Featured
Optimizing for Happiness
mojombo
370
69k
Ruby is Unlike a Banana
tanoku
96
10k
5 minutes of I Can Smell Your CMS
philhawksworth
199
19k
What's new in Ruby 2.0
geeforr
337
31k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
242
1.2M
Mobile First: as difficult as doing things right
swwweet
217
8.6k
The Mythical Team-Month
searls
216
42k
Learning to Love Humans: Emotional Interface Design
aarron
267
39k
Gamification - CAS2011
davidbonilla
77
4.6k
Build The Right Thing And Hit Your Dates
maggiecrowley
25
2k
We Have a Design System, Now What?
morganepeng
44
6.8k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
6
3.4k
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