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
Optimize Flutter Workflow on Bitrise
Search
Hiroki Matsue
March 26, 2019
Technology
2
1.2k
Optimize Flutter Workflow on Bitrise
Flutter Meetup Tokyo #8"でのLT資料です。
https://flutter-jp.connpass.com/event/121387/
Hiroki Matsue
March 26, 2019
Tweet
Share
More Decks by Hiroki Matsue
See All by Hiroki Matsue
Getting Screenshots Automatically in Flutter
matsue
2
490
Write tests for Provider
matsue
4
800
ややcomplexなBLoCへの対応
matsue
2
770
Flutterアプリの難読化とエラーレポート(iOS)
matsue
2
2k
いまさらだけど「良い通知」について考えてみた
matsue
4
11k
リテンション率を2倍にするための2つの視点
matsue
0
3.5k
リソースを効率的に使うためのバックログ活用事例
matsue
1
470
ローディング時のより良いUIの実装
matsue
2
1.9k
カウルにおけるElasiticsearchの導入と実例
matsue
0
880
Other Decks in Technology
See All in Technology
Oracle Cloud Infrastructure:2025年4月度サービス・アップデート
oracle4engineer
PRO
0
340
企業が押さえるべきMCPの未来
takaakikakei
0
260
生成AIのユースケースをとにかく集めてまるっと学ぶ!/ all about generative ai usecases
gakumura
3
370
Databricksで完全履修!オールインワンレイクハウスは実在した!
akuwano
0
140
Part2 GitHub Copilotってなんだろう
tomokusaba
0
250
2025-04-24 "Manga AI Understanding & Localization" Furukawa Arata (CyberAgent, Inc)
ornew
2
330
3D生成AIのための画像生成
kosukeito
2
590
バクラクの認証基盤の成長と現在地 / bakuraku-authn-platform
convto
4
900
コードや知識を組み込む / Incorporating Codes and Knowledge
ks91
PRO
0
160
正式リリースされた Semantic Kernel の Agent Framework 全部紹介!
okazuki
0
310
2025年8月から始まるAWS Lambda INITフェーズ課金/AWS Lambda INIT phase billing changes
quiver
0
300
本当に必要なのは「QAという技術」だった!試行錯誤から生まれた、品質とデリバリーの両取りアプローチ / Turns Out, "QA as a Discipline" Was the Key!
ar_tama
6
960
Featured
See All Featured
Intergalactic Javascript Robots from Outer Space
tanoku
271
27k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
5
560
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
137
33k
Into the Great Unknown - MozCon
thekraken
38
1.7k
Building a Modern Day E-commerce SEO Strategy
aleyda
40
7.2k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
29
9.4k
YesSQL, Process and Tooling at Scale
rocio
172
14k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.3k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Facilitating Awesome Meetings
lara
54
6.3k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
120
51k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
30
2.3k
Transcript
Optimize Flutter Workflow on Bitrise Hiroki Matsue (@macs_6) Mar 26th,
2019 Flutter Meetup Tokyo #8
This talk is about CI steps time reduction
Target Listeners
Who know this
Faster CI makes devs happier
Reulst on my project Timeout => 9 minutes Just few
minutes, but Free plan is not so bad ¯\(π)/¯
Flutter CI steps 1. Install Flutter 2. Execute "flutter analyze"
3. Execute "flutter test" 4. Execute "flutter build" (Android and iOS both)
(Each results were measured with my personal project)
Try "Flutter Install" step optimization
TL;DR: Just wait new Hybrid stack https://discuss.bitrise.io/t/making-flutter-builds-faster/3976/8
What if we cache Flutter? • flutter installation: 137sec 㱺
2sec (-135sec) • cache-pull: 11sec 㱺 27sec (+16sec) • cache-push: 92sec 㱺 209sec (+117sec) Only remote storage was changed, no time reduction
Try "flutter build" step optimization
TL;DR: Cache following items • ios/Pods/ • $HOME/Library/Developer/Xcode/DerivedData
Pods caching result • flutter build ios: 172sec 㱺 99sec
(-73sec) • cache-pull: 9sec => 11sec (+2sec) • cache-push: 58sec 㱺 72sec (+14sec) Very effective !
DerivedData caching result • flutter build ios: 140sec 㱺 54sec
(-86sec) • cache-pull: 15sec => 15sec (+0sec) • cache-push: 85sec 㱺 141sec (+56sec)
Non effective items on my project • build/ • ios/Flutter/
• ios/.symlinks/ • $HOME/.gradle/ • android/.gradle/ cache-push tooks too long time for .gradle on my project.
References • "60% faster builds: force Xcode to use caching
on Bitrise!" https://medium.com/@bitrise/60-faster-builds-force-xcode- to-use-caching-on-bitrise-af8979ca39a6 • "Cache Gradle dependencies on Bitrise" https:// medium.com/bitrise/cache-gradle-dependencies-on- bitrise-cf19a2580d07
Faster "flutter analyze" and "flutter test"? Sorry, I have no
idea now ¯\(π)/¯
Other ideas • Put dependencies to the repo • Use
build scheduling for long workflows • Pay for Bitrise • Concurrent build for ios and apk
Summary Caching following items, and using new Flutter Hybrid stacks
will be efficient. • ios/Pods/ • $HOME/Library/Developer/Xcode/DerivedData
Thanks