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
Flutterアプリ開発に於けるBitrise活用例(初級) / Flutter using ...
Search
tanaka
September 03, 2019
1
580
Flutterアプリ開発に於けるBitrise活用例(初級) / Flutter using Bitrise for beginners
2019/9/3
Bitrise User Group Meetup #2
tanaka
September 03, 2019
Tweet
Share
More Decks by tanaka
See All by tanaka
Release Flutter App_Video On Demand
yumatan
1
510
Google IO 2019
yumatan
8
2.5k
Featured
See All Featured
Typedesign – Prime Four
hannesfritz
41
2.5k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
10
520
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
160
15k
Rebuilding a faster, lazier Slack
samanthasiow
80
8.9k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
The Cult of Friendly URLs
andyhume
78
6.2k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Faster Mobile Websites
deanohume
306
31k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
6
580
Designing for humans not robots
tammielis
250
25k
Transcript
Flutterアプリ開発に於ける Bitrise活用例(初級) Yuma Tanaka Mobile Application Engineer at MTI Ltd.
(VideoMarket Corp.)
2019/9/2 アプリリリース • アプリ ◦ videomarket(v4.0.0) • サービス概要 ◦ 動画配信サービス
◦ AirPlay及びCast再生も可 ◦ 会員登録不要 ◦ In-App Purchase • 備考 ◦ Flutter製(iOS版のみ) ◦ 「新規」でなく「更新」リリー ス https://beyond.videomarket.jp
Today’s topic • Flutterアプリ開発でのBitrise活用例 ◦ Bitrise workflows ◦ Bitrise workflow:distribute_staging
◦ Bitrise Step:Flutter ◦ Build Configuration(iOS) ◦ Tips(Cache Push) • Summary
Bitrise workflows • unit_test ◦ PR作成時、自動的にテスト実行 • distribute_mock • distribute_dev
• distribute_staging ◦ flavor:mock, dev, stagingでそれぞれビルド及び Fabric Beta配布 ◦ PRマージ時、自動的に ”distribute_staging”実行 • apple_upload_production ◦ flavor:productionでビルド及びApp Store Connectアップロード
Bitrise workflows • unit_test ◦ PR作成時、自動的にテスト実行 • distribute_mock • distribute_dev
• distribute_staging ◦ flavor:mock, dev, stagingでそれぞれビルド及び Fabric Beta配布 ◦ PRマージ時、自動的に ”distribute_staging”実行 • apple_upload_production ◦ flavor:productionでビルド及びApp Store Connectアップロード
Bitrise workflow:distribute_staging • 役割 ◦ flavor:stagingでビルド及びFabric Beta配布 • 大まかなフローの流れ ◦
Git Clone ◦ Step:Flutterでflutter build ◦ fastlaneでios build ◦ fastlaneでFabric Beta配布
Bitrise workflow:distribute_staging • 役割 ◦ flavor:stagingでビルド及びFabric Beta配布 • 大まかなフローの流れ ◦
Git Clone ◦ Step:Flutterでflutter build ◦ fastlaneでios build ◦ fastlaneでFabric Beta配布
Bitrise Step:Flutter • 概要 ◦ 以前よりコミュニティで作成されていた Step ◦ 2019年1月に公開された、Bitrise公式の 4Stepsとは別物(will
try..) • Input Variables 記入例 ◦ Flutter Version(Required) ▪ stable ◦ Flutter commands to be executed(Required) ▪ build ios --release --flavor staging --target lib/main_staging.dart
Bitrise Step:Flutter • 概要 ◦ 以前よりコミュニティで作成されていた Step ◦ 2019年1月に公開された、Bitrise公式の 4Stepsとは別物(will
try..) • Input Variables 記入例 ◦ Flutter Version(Required) ▪ stable ◦ Flutter commands to be executed(Required) ▪ build ios --release --flavor staging --target lib/main_staging.dart
Build Configurations(iOS) flavor type Configuration main.dart Bitrise workflow mock debug
Debug-mock main_mock.dart - mock release Release-mock main_mock.dart distribute_mock dev debug Debug-dev main_dev.dart - dev release Release-dev main_dev.dart distribute_dev staging debug Debug-staging main_staging.dart - staging release Release-staging main_staging.dart distribute_staging production debug Debug-production main_production.dart - production release Release-production main_production.dart apple_upload_production
Summary • FlutterアプリのCI/CDをBitriseで実現可能 • flavor毎にビルドを行う場合、 アプリ側でビルド構成の検討・導入が必要 ◦ Flutterアプリ開発では、Android/iOSのネイティブの知識が必要
Tips(Cache Push) • 課題 ◦ Step:Flutterを使うと、毎回Flutter SDKがインストールされてしまう ◦ 結果、ワークフローの実行時間が長くなる •
解決方法 ◦ Step:Cache Push(及びCache Pull)を導入し、 毎回Flutter SDKがインストールされるのを防ぐ → ※平均3,4分の実行時間を短縮 ◦ Cache Push -> Cache pathsで下記指定 ▪ /Users/vagrant/Library/flutter -> ./pubspec.lock
Summary • FlutterアプリのCI/CDをBitriseで実現可能 • flavor毎にビルドを行う場合、 アプリ側でビルド構成の検討・導入が必要 ◦ Flutterアプリ開発では、Android/iOSのネイティブの知識が必要 • Step:Cacheを導入する事により、ワークフローの実行時間を短縮可能
Reference • Bitrise step:Flutter ◦ https://github.com/DroidsOnRoids/bitrise-step-flutter • Bitrise step:Cache Push
◦ https://github.com/bitrise-steplib/steps-cache-push • Flutter CI v1.0がBitriseに登場! ◦ https://blog.bitrise.io/flutter-ci-v1-jp