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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
tanaka
September 03, 2019
1
670
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
560
Google IO 2019
yumatan
8
2.6k
Featured
See All Featured
Technical Leadership for Architectural Decision Making
baasie
1
230
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
580
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
120
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2k
Believing is Seeing
oripsolob
1
48
New Earth Scene 8
popppiees
1
1.5k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.6k
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
54
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
3.9k
AI: The stuff that nobody shows you
jnunemaker
PRO
2
230
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.6k
Unsuck your backbone
ammeep
671
58k
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