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
280
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
150
a lighter reusable cell
wpsteak
0
91
Other Decks in Programming
See All in Programming
高専キャリア LT 発表内容
crysta1221
6
5.5k
レビュー履歴をAIに食わせて、 Compose移行を加速するs
shihochan
0
270
Vibes Containers 〜AIで変わるコンテナ設計と運用〜
tkikuc
1
490
AWS Step Functions 大規模並列の壁を越える / jaws-sonic-2026-niigata-step-functions
kasacchiful
PRO
0
370
MySQLとPostgreSQLって何が違うの?
akagami
PRO
0
170
AIの中の人になってみる
htkym
0
170
バグを直したら useEffect が消えた
colorful12
3
840
高専、大学編入、そして未踏へ〜プロダクト開発とキャリアの歩み - Technical College, University Transfer, and On to “Mitou” / My Journey in Product Development and Career
pkmiya
0
140
XP祭りでしか伝わらないフリップネタ #xpjug
murabayashi
0
110
GKE アップグレード前に知っておきたい Blue/Green と PDB の関係
stkk
0
150
Webエンジニアなのにブラウザの仕組みがわからないので、Pythonで自作してみた
tatsuki12
4
1.7k
業務時間外もAIに働いてもらう話
colorful12
3
10k
Featured
See All Featured
[RailsConf 2023] Rails as a piece of cake
palkan
59
7k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
590
Believing is Seeing
oripsolob
1
210
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.7k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.6k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.7k
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
200
The Curious Case for Waylosing
cassininazir
1
500
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
510
The World Runs on Bad Software
bkeepers
PRO
72
12k
New Earth Scene 8
popppiees
3
2.5k
Optimizing for Happiness
mojombo
378
71k
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