Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
モバイルアプリケーションチームのリリースフロー改善
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Jerome
October 21, 2020
Programming
560
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
モバイルアプリケーションチームのリリースフロー改善
Chatwork Tech Talk #1
Jerome
October 21, 2020
More Decks by Jerome
See All by Jerome
Mobile Dev Japan #3 - Safie Viewer Android & Sceneview
jeromecha
0
95
Introduction to 3D/AR with Sceneview on Android
jeromecha
1
820
Other Decks in Programming
See All in Programming
JAWS-UG 東京支部が始める、JAWS-UG支部コラボ / JAWS-UG lunchtime LT Collaboration
y0hgi
0
180
mrbgem 三角測量 開発
ogom
0
200
パーソナライズPodcastを作った話
repunit11
0
120
Herb in Rails 8.2: Your ERB views, now HTML-aware @ Rails World 2026, Austin, Texas
marcoroth
0
190
速習iPhone Duo対応
yuukiw00w
2
960
When benchmarks go bad - what I learned from measuring performance wrong
hollycummins
0
130
AI Agent時代のリアーキテクチャ戦略と実践
hokaccha
9
5.4k
Atomic Design, Enforced: Scaling Mobile Design Systems (next.app devCon / droidCon Berlin 2026)
steliosf
PRO
0
120
Security issues being discussed on Web Platforms
petamoriken
0
1.4k
Streamlitで実現する自然言語データアプリ開発
ayumu_yamaguchi
1
340
ハーネス設計入門 〜 基礎知識の整理から実務へのステップアップ 〜
kinopeee
20
21k
テストを司るデーモンに会いに行く 〜隔離した仮想マシンでテストを通すまで〜
h1d3mun3
1
620
Featured
See All Featured
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
3
4.3k
Technical Leadership for Architectural Decision Making
baasie
3
590
Scaling GitHub
holman
464
140k
brightonSEO & MeasureFest 2025 - Winning Strategies for Black Friday CRO & PPC - Christian Goodrich
cargoodrich
3
860
GitHub's CSS Performance
jonrohan
1033
470k
The agentic SEO stack - context over prompts
schlessera
0
960
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
710
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.6k
Docker and Python
trallard
47
4.2k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
540
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.4k
Transcript
Chatwork Tech Talk #1 Chatwork株式会社 開発本部 モバイルアプリケーション開発部 Cha Jerome モバイルアプリケーションチームの リリースフロー改善
1
© Chatwork 自己紹介 - CHA Jerome (チャ・ジェローム) - フランス人 -
2015年に大学卒業 - 2016年8月日本に来ました - ChatworkのAndroidエンジニア - Android / iOS 両方出来ます 2 @yujiro45 JeromeCHA twitch.tv/yujiro45 (毎日21時半ぐらいに配信してる)
© Chatwork 今日のGoal - リリースの作業をもっと楽に なるようにする - リリースフローのペアオペ時間をなくす - fastlaneやスクリプトを利用して自動化することで、とても便利になる
3
© Chatwork アジェンダ - 改善する前のリリースフロー - 問題 - 改善した後のリリースフロー -
改善のときに効果と苦労したところ - まとめ 4
© Chatwork 今モバイルチームで使っているツール 5
© Chatwork fastlaneとは? - iOS及びAndroidアプリのビルドやリリースを自動化してくれる - CUIやCIツールなどから実行することで、様々な処理を自動化することができる - Laneと呼ばれるアクションをRubyで作れる -
アクションの組み合わせはレーンでおこなう 6
© Chatwork iOS/Androidチームのやり方の違い 7 - fastlane - ペアオペ:リリース - git-flowコマンドを使ってい
ます - Bash script - fastlaneを使ってない - ペアオペ:ストア申請+リ リース - Gitのツールを使っています (SourceTree、GitKraken) iOS Android
© Chatwork iOS / Androidチームの異なるリリースフロー 8 - AndroidとiOSチームはお互いのリリースフローを知らない iOS Android
© Chatwork モバイルチームのリリースフロー(改善する前) 9 リリースノート作 成 コードフリーズ ストア申請 リリース -
2週間に1回リリースしています
© Chatwork モバイルチームのリリースフロー(改善する前) 10 日本語のみリリースノート準 備 PdM*に確認お願いする 翻訳依頼 リリースブランチを作る 各言語のリリースノート
PR 出す リリースブランチに マージする リリースブランチを作る GitHubのリリース ドラフトページを作る 社内配布 ワンコマンドで申請する Bash scriptでバイナリを アップロードして、ペアオペで申請す る リリースブランチ終了 Jiraでリリースをおこなう GitHubでリリースをおこなう PdMに連絡する リリースノート作成 コードフリーズ リリース ストア 申請 *PdM:プロダクトマネジャー
© Chatwork 問題 - iOSとAndroidのリリースノートを作成するタイミングが違う - Androidチームはコードフリーズする前にやる - iOSチームはコードフリーズした後にやる -
AndroidとiOSチームはお互いのやり方を知らない - 時間かかる - 各自のRubyのバージョンが違う - 手動で作業するとミスしそう - たまーにgit-flowがおかしくなっている - Windows環境でBash scriptが対応されていない - リリースする時に、たまに自信がない 11
© Chatwork 12 どうやって改善するの?
© Chatwork どうやって改善するの? 13 - Bash scriptをやめる - Windows環境では使えないため -
ミスをなくすために、ワンコマンドにする - 出来れば、全部をfastlaneで自動化にする - iOSとAndroidのステップのタイミングを同じにする - git-flowをfastlaneに任せる - Bundlerでライブラリのバージョンを管理する
© Chatwork Bundlerとは? 14 source "https://rubygems.org" ruby "2.6.6" git_source(:github) {|repo_name|
"https://github.com/#{repo_name}" } gem "fastlane", '2.147.0' gem 'json', '2.3.0' ... - BundlerがGemfileをみて、Rubyのライブラリのバージョンを管理することが出来るツールです
© Chatwork モバイルチームのリリースフロー改善 15 コードフリーズ リリースノート作 成 ストア申請 リリース -
ステップが変わらない、順番だけが変わる - iOSとAndroidのリリースノート作成するタイミングを合わせるため リリースノート作 成 コードフリーズ ストア申請 リリース 改善前 改善後
© Chatwork モバイルチームのリリースフロー改善 1. コードフリーズ 16 リリースブランチを作る GitHubのリリースドラフトペー ジを作る PdMに確認をお願いする
社内配布 日本語のみの リリースノート準備 自動化 リリースブランチを作る 各言語のリリースノート PR 出す リリースブランチにマージす る リリースブランチを作る GitHubのリリースドラフトペー ジを作る 社内配布 社内配布 翻訳依頼 *PdM:プロダクトマネジャー iOS Android
© Chatwork モバイルチームのリリースフロー改善 1. コードフリーズ 17 $ bundle exec fastlane
code_freeze リリースブランチを作る GitHubのリリース ドラフトページを作る PdMに確認をお願いする 社内配布 日本語のみの リリースノート準備 自動化 翻訳依頼
© Chatwork カスタムレーン 18
© Chatwork 19 19 モバイルチームのリリースフロー改善 1. コードフリーズ - 翻訳依頼 -
6言語に対応している(日本語、英語、タイ語、スペイン語、中国語繁体字、ベトナム語) - Google Spreadsheetを使っている
© Chatwork モバイルチームのリリースフロー改善 2. リリースノート作成 20 Jiraの完了したチケット 日本語のみリリースノート PdMに確認お願いする 翻訳依頼
各言語のリリースノート作成 各言語のリリースノート作成 リリースブランチからブラン チを作る リリースノートレビュー依頼 自動化 iOS & Android iOS & Android
© Chatwork モバイルチームのリリースフロー改善 2. リリースノート作成 21 各言語のリリースノート作成 リリースブランチからブラン チを作る リリースノートレビュー依頼
自動化 $ bundle exec fastlane release_note iOS & Android
© Chatwork モバイルチームのリリースフロー改善 3. ストア申請 22 ワンコマンドで申請する Bash scriptでバイナリをアップ ロードして、ペアオペで申請する
ワンコマンドで申請する iOS Android iOS & Android
© Chatwork モバイルチームのリリースフロー改善 3. ストア申請 23 $ bundle exec fastlane
submit ワンコマンドで申請する iOS & Android
© Chatwork モバイルチームのリリースフロー改善 4. リリース 24 リリースブランチ終了 Jiraでリリースをおこなう GitHubでリリースをおこなう PdMに連絡する
リリースブランチ終了 Jiraでリリースをおこなう GitHubでリリースをおこなう PdMに連絡する 自動化 iOS & Android iOS & Android
© Chatwork モバイルチームのリリースフロー改善 4. リリース 25 リリースブランチ終了 JIRAでリリースをおこなう GitHubでリリースをおこなう PdMに連絡する
自動化 $ bundle exec fastlane release iOS & Android
© Chatwork モバイルチームのリリースフロー(改善する前) 26 日本語のみリリースノート準 備 PdM*に確認お願いする 翻訳依頼 リリースブランチを作る 各言語のリリースノート
PR 出す リリースブランチに マージする リリースブランチを作る GitHubのリリース ドラフトページを作る 社内配布 ワンコマンドで申請する Bash scriptでバイナリを アップロードして、ペアオペで申請す る リリースブランチ終了 Jiraでリリースをおこなう GitHubでリリースをおこなう PdMに連絡する リリースノート作成 コードフリーズ リリース ストア 申請
© Chatwork モバイルチームのリリースフロー(改善した後) 27 日本語のみの リリースノート準備 翻訳依頼 リリースノート作成 コードフリーズ リリース
ストア申請 $bundle exec fastlane release_note $bundle exec fastlane code_freeze $bundle exec fastlane submit $bundle exec fastlane code_freeze
© Chatwork 改善のときに苦労したところ - Rubyの経験がほぼない - 環境の設定が大変だった - GitHub APIからバイナリをアップロードするのは大変だった
- Jira APIを確認するために、個人アカウント作らないといけない - 本番でテストするのは禁止! - PRをレビューするのが難しかった - やり方とコードを共有するために、全員にレビューしてもらった - iOS側で修正があったら、Android側でも修正しないといけない 28
© Chatwork - リリース作業の時間が短くなりました 改善した効果 (1/2) 29 ステップ Before (作業時間)
After (作業時間) コードフリーズ+リリースノート 2.0h 0.3h ストア申請 0.5h 0.2h リリース 0.5h 0.2h トータル 3.0h 0.7h トータルほぼ70%短縮!
© Chatwork - ワンコマンドでめっちゃ楽になった - 入社した方がいたら、リリースするのは分かりやすくなった - 自動化したから、ミスがほとんどなくなった 改善した効果 (2/2)
30
© Chatwork まとめ - 環境の設定は大変でした - ワンコマンドだととても楽になりました - fastlaneはとても便利です -
改善の設計を考えるのは大変でした - メンバー皆が早くなって喜んでくれてる 31
© Chatwork ありがとうございました 32 質問はありますか?