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
0
1.2k
タクシーアプリ『GO』Androidのリリースフロー / Release GO App
gyamoto
October 31, 2023
Tweet
Share
More Decks by gyamoto
See All by gyamoto
脱Accompanistを考える / Bye Accompanist
gya
0
270
実践 脱Modifier.composed / Let's Modifier.Node
gya
2
670
私の好きなModifier関数 / My Favorite Modifier
gya
0
820
2022年ヘルスケアアプリのつくり方 / 2022 A Healthcare App Odyssey
gya
0
1.3k
タクシーアプリ「GO」AndroidにできるところからJetpack Composeを入れている話 / Introduce Jetpack Compose gradually
gya
0
760
Gradle BOM importでライブラリバージョン管理 / DroidKaigi2019
gya
3
1.9k
Firebaseで解決するAndroidの機種依存 / Firebase solve android device difference
gya
2
1.2k
Other Decks in Technology
See All in Technology
外部カンファレンスで登壇しよう! 〜「強い」エンジニアへの一歩を踏み出す〜
logica0419
4
130
MobileActOsaka_241018.pdf
akaitadaaki
0
100
フェンリルの SwiftUI の研修を覗いてみる / Fenrir SwiftUI Training
studio_rookery
0
130
AWS DDKを利用したDataOps事始め
beex
1
160
テストを楽に書きたい
tomorrowkey
2
260
Vespaを利用したテクいベクトル検索
szdr
3
250
とある事業会社にとっての Kaggler の魅力
hakubishin3
7
1.5k
【㈱アイモバイル】エンジニア向け会社説明資料
imobile
0
480
マルチテナントのサービスインフラに大きなテナントを受け入れるまで
7474
0
410
不要なリソースを自動で定期的に整理する方法 ~Sandboxアカウントのコストを削減しよう!~
amixedcolor
4
220
SageMaker学習のツボ / The Key Points of Learning SageMaker
cmhiranofumio
0
270
VueとViteで作るUIコンポーネントライブラリ ~デザインシステムとプロダクトの理想的な分離を目指して~ / 20241019_cloudsign_VueFesJapan2024_1
bengo4com
8
3k
Featured
See All Featured
Art, The Web, and Tiny UX
lynnandtonic
296
20k
A Modern Web Designer's Workflow
chriscoyier
692
190k
Done Done
chrislema
181
16k
The Pragmatic Product Professional
lauravandoore
31
6.2k
Building an army of robots
kneath
302
42k
Visualization
eitanlees
143
15k
No one is an island. Learnings from fostering a developers community.
thoeni
19
2.9k
Building Applications with DynamoDB
mza
90
6k
Producing Creativity
orderedlist
PRO
341
39k
How STYLIGHT went responsive
nonsquared
95
5.1k
Imperfection Machines: The Place of Print at Facebook
scottboms
264
13k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
46
2.1k
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. 文章・画像等の内容の無断転載及び複製等の行為はご遠慮ください