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
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Pin-Shih Wang
July 01, 2014
Programming
270
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
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
490
A tip for using magical record
wpsteak
0
180
Test With Xcode Server
wpsteak
0
140
a lighter reusable cell
wpsteak
0
90
Other Decks in Programming
See All in Programming
楽しそうなつよつよエンジニアと目が死んでる僕/A brilliant engineer having a blast, and dead-eyed me.
3l4l5
2
190
AI時代に設計が 最大の生産性レバーになる 意図駆動開発とデータを消さない設計|Don't Delete Your Data or Your Intent — Design as the Deepest Lever in the AI Era
tomohisa
1
1k
ルールを書いて終わらせないハーネスエンジニアリング
yug1224
5
1.9k
Laravel Boostに学ぶ、AIにPHPを書かせる技術 〜OSSの実装から蒸留するエージェント制御の王道〜
kentaroutakeda
3
720
テーブルをDELETEした
yuzneri
0
140
AI Readyの正体はデータマネジメントだ メダリオン2.0の最前線
freee
PRO
0
300
Built Our Own Background Agent at LayerX
layerx
PRO
10
5.7k
Laravelで学ぶ Webアプリケーションチューニング入門/web_application_tuning_101
hanhan1978
4
1.9k
使いながら育てる Claude Code — 開発フローの1コマンド化 × 繰り返し指摘の自動仕組み化
shiki_kakaku
0
1.8k
引き算の組織 ― アウトカムとAIに全振りするために辞めたこと ― / Organization by Subtraction
hirokiyamamoto14
PRO
0
250
<title><a id="</title>君はこのHTMLをパースできるか"></a></title> #雑LT_study
pizzacat83
0
150
ソフトウェアエンジニアにとっての生成AI - 特性を知って使い倒す / generative ai for software enginner
kishida
5
1.9k
Featured
See All Featured
Build your cross-platform service in a week with App Engine
jlugia
234
19k
HDC tutorial
michielstock
2
790
Six Lessons from altMBA
skipperchong
29
4.4k
Navigating Team Friction
lara
192
16k
Embracing the Ebb and Flow
colly
88
5.1k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
340
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.6k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
Amusing Abliteration
ianozsvald
1
250
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
3k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
250
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