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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Pin-Shih Wang
July 01, 2014
Programming
270
2
Share
CI with Git Flow
Pin-Shih Wang
July 01, 2014
More Decks by Pin-Shih Wang
See All by Pin-Shih Wang
iOS Extension
wpsteak
4
480
A tip for using magical record
wpsteak
0
170
Test With Xcode Server
wpsteak
0
130
a lighter reusable cell
wpsteak
0
89
Other Decks in Programming
See All in Programming
AIとRubyの静的型付け
ukin0k0
0
530
代数的データ型って何が嬉しいの? #frontend_phpcon_do
kajitack
8
3.1k
ユニットテストの先へ:テスト技法で要求・仕様を整理するJava開発実践 / Beyond_Unit_Testing_Practical_Java_Development_Techniques_for_Organizing_Requirements_and_Specifications
shimashima35
0
350
関係性から理解する"同一性"の型用語たち
pvcresin
2
630
RTSPクライアントを自作してみた話
simotin13
0
440
Make SRE Operations Easier with Azure SRE Agent
kkamegawa
0
3.5k
今さら聞けないCancellationToken
htkym
0
220
肥大化するレガシーコードに立ち向かうためのインターフェース分離と依存の逆転 / JJUG CCC 2026 Spring
hirokunimaeta
0
480
JJUG CCC 2026 Spring: JSpecify で実現する Kotlin フレンドリーな Java API 設計
ternbusty
1
130
New "Type" system on PicoRuby
pocke
1
440
開発体験を左右するライブラリの API 設計 - GraphQL スキーマ構築ライブラリから考える #tskaigi
izumin5210
2
1.6k
プロパティの順序で型推論が壊れる!? TypeScript6.0の修正からContext-Sensitivityの仕組みを追う
bicstone
2
1.3k
Featured
See All Featured
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
400
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
2
840
The #1 spot is gone: here's how to win anyway
tamaranovitovic
2
1.1k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.2k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.1k
Art, The Web, and Tiny UX
lynnandtonic
304
22k
For a Future-Friendly Web
brad_frost
183
10k
Speed Design
sergeychernyshev
33
1.8k
Designing Powerful Visuals for Engaging Learning
tmiket
1
390
Raft: Consensus for Rubyists
vanstee
141
7.5k
The SEO Collaboration Effect
kristinabergwall1
1
470
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
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