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
Flutterアプリ開発に於けるBitrise活用例(初級) / Flutter using ...
Search
tanaka
September 03, 2019
710
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Flutterアプリ開発に於けるBitrise活用例(初級) / Flutter using Bitrise for beginners
2019/9/3
Bitrise User Group Meetup #2
tanaka
September 03, 2019
More Decks by tanaka
See All by tanaka
Release Flutter App_Video On Demand
yumatan
1
580
Google IO 2019
yumatan
8
2.6k
Featured
See All Featured
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
840
Faster Mobile Websites
deanohume
310
32k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
240
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.8k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.9k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
11k
Unsuck your backbone
ammeep
672
58k
Mind Mapping
helmedeiros
1
350
The Pragmatic Product Professional
lauravandoore
37
7.4k
Designing Powerful Visuals for Engaging Learning
tmiket
1
540
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
4.3k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
330
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