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
200
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
450
A tip for using magical record
wpsteak
0
110
Test With Xcode Server
wpsteak
0
64
a lighter reusable cell
wpsteak
0
53
Other Decks in Programming
See All in Programming
採用事例の少ないSvelteを選んだ理由と それを正解にするためにやっていること
oekazuma
2
1.1k
Haze - Real time background blurring
chrisbanes
1
520
短期間での新規プロダクト開発における「コスパの良い」Goのテスト戦略」 / kamakura.go
n3xem
2
170
return文におけるstd::moveについて
onihusube
1
1.2k
StarlingMonkeyを触ってみた話 - 2024冬
syumai
3
280
create_tableをしただけなのに〜囚われのuuid編〜
daisukeshinoku
0
280
Mermaid x AST x 生成AI = コードとドキュメントの完全同期への道
shibuyamizuho
0
170
各クラウドサービスにおける.NETの対応と見解
ymd65536
0
160
毎日13時間もかかるバッチ処理をたった3日で60%短縮するためにやったこと
sho_ssk_
1
250
生成AIでGitHubソースコード取得して仕様書を作成
shukob
0
500
fs2-io を試してたらバグを見つけて直した話
chencmd
0
240
Kaigi on Railsに初参加したら、その日にLT登壇が決定した件について
tama50505
0
100
Featured
See All Featured
Build The Right Thing And Hit Your Dates
maggiecrowley
33
2.4k
Building Adaptive Systems
keathley
38
2.3k
Raft: Consensus for Rubyists
vanstee
137
6.7k
Designing Experiences People Love
moore
138
23k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
Site-Speed That Sticks
csswizardry
2
190
Adopting Sorbet at Scale
ufuk
73
9.1k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.3k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
159
15k
Side Projects
sachag
452
42k
Facilitating Awesome Meetings
lara
50
6.1k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
48
2.2k
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