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
タクシーアプリ『GO』Androidのリリースフロー / Release GO App
Search
gyamoto
October 31, 2023
Technology
1
1.3k
タクシーアプリ『GO』Androidのリリースフロー / Release GO App
gyamoto
October 31, 2023
Tweet
Share
More Decks by gyamoto
See All by gyamoto
脱Accompanistを考える / Bye Accompanist
gya
0
350
実践 脱Modifier.composed / Let's Modifier.Node
gya
2
720
私の好きなModifier関数 / My Favorite Modifier
gya
0
900
2022年ヘルスケアアプリのつくり方 / 2022 A Healthcare App Odyssey
gya
0
1.4k
タクシーアプリ「GO」AndroidにできるところからJetpack Composeを入れている話 / Introduce Jetpack Compose gradually
gya
0
800
Gradle BOM importでライブラリバージョン管理 / DroidKaigi2019
gya
3
2k
Firebaseで解決するAndroidの機種依存 / Firebase solve android device difference
gya
2
1.3k
Other Decks in Technology
See All in Technology
カップ麺の待ち時間(3分)でわかるPartyRockアップデート
ryutakondo
0
140
AIアプリケーション開発でAzure AI Searchを使いこなすためには
isidaitc
1
120
comilioとCloudflare、そして未来へと向けて
oliver_diary
6
450
Building Scalable Backend Services with Firebase
wisdommatt
0
110
[IBM TechXchange Dojo]Watson Discoveryとwatsonx.aiでRAGを実現!事例のご紹介+座学②
siyuanzh09
0
110
技術に触れたり、顔を出そう
maruto
1
150
2025年のARグラスの潮流
kotauchisunsun
0
800
2025年の挑戦 コーポレートエンジニアの技術広報/techpr5
nishiuma
0
140
2025年に挑戦したいこと
molmolken
0
160
なぜfreeeはハブ・アンド・スポーク型の データメッシュアーキテクチャにチャレンジするのか?
shinichiro_joya
2
490
Docker Desktop で Docker を始めよう
zembutsu
PRO
0
180
My small contributions - Fujiwara Tech Conference 2025
ijin
0
1.4k
Featured
See All Featured
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
Statistics for Hackers
jakevdp
797
220k
Designing Experiences People Love
moore
139
23k
Large-scale JavaScript Application Architecture
addyosmani
510
110k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
127
18k
Speed Design
sergeychernyshev
25
740
Writing Fast Ruby
sferik
628
61k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
44
9.4k
A designer walks into a library…
pauljervisheath
205
24k
4 Signs Your Business is Dying
shpigford
182
22k
Rebuilding a faster, lazier Slack
samanthasiow
79
8.8k
Visualization
eitanlees
146
15k
Transcript
タクシーアプリ『GO』Androidの リリースフロー 2023.10.31 / 後夜祭 DroidKaigi 2023 Kohei Yamamoto GO株式会社
© GO Inc. 2 GO株式会社 ユーザーシステム開発部 / Kohei Yamamoto 新卒でIT企業に入社後、継続的なサービスの成長に携わりたいと思
い2021年8月に入社。 タクシーアプリ『GO』のAndroidアプリ開発を担当。 BIOHAZARD RE:4 で恐怖の克服を試している。車が欲しい。 @farundorl @gyamoto 自己紹介
© GO Inc. 3
© GO Inc. 4 01 タクシーアプリ『GO』 Androidのリリースフロー
© GO Inc. 5 タクシーアプリ『GO』のリリースフロー QA完了 + リリースバージョン、 リリースノート、 公開日時の決定
GooglePlayで段階的な 公開として “99%” 割合 でリリース リリース当日 リリース前日 0 1
© GO Inc. 6 タクシーアプリ『GO』のリリースフロー リリース後に問題が 発生してないか調査 GooglePlayで段階的な 公開の割合を更新 問題あり
→ 0% 問題なし → 100% リリース後 調査後 2 3
© GO Inc. 7 アプリの段階的な公開 2 3 1 0 新バージョン
アプリ 旧バージョンアプリ 新バージョン アプリ 旧バージョン アプリ 一時的に旧バージョンと新バージョンの両方を公開して 問題が発生した場合に備える
© GO Inc. 8 アプリの段階的な公開 一定割合のユーザにのみアプリを公開する機能 アプリの公開割合を都度更新することが可能 ・例えば 1%→5%→20%→100% と徐々に浸透させる
・『GO』Androidは 99%→100% と一気に公開している もし問題が見つかった場合は、最新アプリの影響を最小限 に抑えるために、段階的な公開を中止できる 段階的な公開を利用したアプリのアップデートのリリース | PlayConsoleHelp https://support.google.com/googleplay/android-developer/answer/6346149
© GO Inc. 9 02 段階的公開でリリース後の問題に備える
© GO Inc. 10 リリース後に問題が発生した場合 リリース後に問題が 発生してないか調査 問題発生 リリース後 対応方針の決定
2 0 1 修正版アプリの用意 2 アプリの 再リリース 3
© GO Inc. 11 リリース後に問題が発生した場合 リリース後に問題が 発生してないか調査 問題発生 リリース後 対応方針の決定
2 0 1 修正版アプリの用意 2 アプリの 再リリース 3 修正版アプリのリリースが完了するまでの間は 問題が発生するアプリのユーザが増え続けてしまう 修正版 アプリ 問題が発生するアプリ
© GO Inc. 12 段階的公開でリリース後の問題に備える 問題 発生 GooglePlayで段階的な 公開の割合を更新 問題あり
→ 0% 問題のリスク判断後 3 0 対応方針の決定 1 修正版アプリの用 アプリの 再リリー
© GO Inc. 13 段階的公開でリリース後の問題に備える 問題 発生 GooglePlayで段階的な 公開の割合を更新 問題あり
→ 0% 問題のリスク判断後 3 0 対応方針の決定 1 修正版アプリの用 アプリの 再リリー 修正版 アプリ 問題が発生する “前” のアプリ 問題が発生 するアプリ 修正版アプリのリリースが完了するまでの間は 一時的に問題が発生する前のアプリがインストールされる
© GO Inc. 14 03 ほぼ100%の段階的な公開
© GO Inc. 15 段階的な公開で考えること → 公開割合をどうする? → いつ公開割合を更新する? リリース内容によって公開割合の必須具合が変わる
・タクシー配車に関連する新機能 → タクシー事業者等と日時を合わせる必要がある ・UI改善や軽度な不具合対応など → 急ぎではない ほぼ100%の段階的な公開を設定した背景
© GO Inc. リリース内容にあわせて公開割合と更新タイミングを調整 すると大変… → 段階的な公開を諦め、通常の公開(100%)にする…? 可能であれば問題が発生した場合に備えたい →
ほぼ100%として段階的な公開を設定すると、 「通常公開と変わらない浸透スピード」と 「何かあった場合に公開を中止できる」が両立できる! 16 ほぼ100%の段階的な公開を設定した背景
© GO Inc. リリース時間 ・午前11時にアプリ公開し、翌日11時に問題ないか調査 → アプリ公開の翌朝に利用した結果をもとに確認する → 1日目で ~10%のユーザに最新版が浸透済みなので
致命的な問題があれば発見できる(はず…!) 17 『GO』Androidのほぼ100%の段階的な公開
© GO Inc. 18 『GO』Androidのほぼ100%の段階的な公開 問題がないかの調査内容 ・Firebase Crashlyticsのクラッシュレポートを確認 → 主に「問題のシグナル:新規」が増えてないか
・バックエンド側でアプリ起因の不具合が起きてないか → アプリに大きな変更がある場合は、念のため リリース前にアプリのAPIリクエスト数が急増 してないかも計測する
© GO Inc. 19 04 おまけ:先週判明したこと
© GO Inc. 20 先週判明したこと 段階的な公開の割合は小数点ありで設定できるため、 実質100%で段階的な公開ができそう 割合99.99999%にするとデバイス数と対象数が一致した
© GO Inc. 21 先週判明したこと 実質100%(=99.99999%)段階公開に設定後も公開割合は 編集可能 ・99%と変わらず「公開を管理」が選択可能
© GO Inc. 22 https://hrmos.co/pages/m o-t/jobs/2100002 タクシーアプリ『GO』の開発を一緒にしませんか
© GO Inc. 文章・画像等の内容の無断転載及び複製等の行為はご遠慮ください