このガイドではBitriseでのFlutterアプリのセットアップからテスト、ビルド、デプロイまでの説明します。
FlutterとはAndroidやiOS端末向けアプリケーション開発ツール、モバイルSDKです。BitriseはFlutterアプリをサポートしています: 全てのFlutter needsに応えるべくBitriseには専用のステップがあります。
Flutterアプリを追加 ⚓
- トップメニューにある
+
をクリックしAdd app
セレクトします。 Create New App
ページでアプリに追加したいアカウントを選びます。- アプリのプライバシーをPrivateまたはPublicに設定します。
Next
をクリックします。 - リポジトリをホストするGitホスティングサービスをセレクトし、プロジェクトのリポジトリをセレクトします。詳しくはconnecting your repositoryへ
- すぐリポジトリアクセスをセットアップするときは、
No, auto-add SSH key
をクリックする。詳しくは SSH keysへ - プロジェクトのコンフィグレーションが含まれているブランチの名前(master等)を入力し、
Next
をクリックします。 -
Bitriseがプロジェクトを有効にするまで待機する。
BitriseがConfigurationファイルを探し、それらを基にアプリをセットアップします。Flutterアプリの場合はプロジェクトの
pubspec.yaml
ファイルが必要です。 - アプリのリポジトリにテストがある場合は、それらを実行するかどうかを決定するように求められます。
-
FlutterプロジェクトのiOSプロジェクトを使用している場合、ipa export methodをセレクトします。
-
プロンプトが表示されたらwebhookに登録します
コードがリポジトリにプッシュされた時、もしくはPull Requestが作成されBitriseがビルドを自動的に始めます。初めてのビルドも始められ、メッセージをクリックしてとビルドページへ。
Flutterアプリのテスト ⚓
Flutterでユニット、ウィジェット, システムテストを書き、動かすことができます。詳しくはFlutter’s official documentationをクリック。
Flutterアプリをテストするためにbitriseの自動的に作成されるprimary
ワークフローを使うことができます。デフォルトにより静的コードテストを実行しているFlutter Analyze
を含みます。
- Workflow Editor アプリ、
primary
ワークフローを開きます。 -
Flutter Install
Stepで,Flutter SDK Version
入力を埋めます。Flutter SDKのgitリポジトリのタグかブランチを指定します。デフォルト値は
stable
です。Flutterの新しいstableブランチを使用できます。- 利用可能なタグを見つけるにはhttps://github.com/flutter/flutter/releases
- 利用可能なブランチを見るにはhttps://github.com/flutter/flutter/branches
Flutter Analyze
StepにAdditional parameters
入力に使うフラグを追加します。
Stepが指定されたフラグでflutter analyze
コマンドを実行します。使用可能なフラグをチェックするにはコマンドラインインターフェイスをマシンで開きflutter test --help
を実行します。
- 3.同様
Flutter Test
StepにAdditional parameters
入力に使うフラグを追加します。
Stepが指定されたフラグでflutter test
コマンドを実行します。使用可能なフラグをチェックするにはコマンドラインインターフェイスをマシンで開きflutter test --help
を実行します。
Flutter Test
ステップのProject Location
入力が正確であることを確認します。
デフォルト値はFlutter プロジェクトロケーションのために作成された環境変数です。
ビルドを実行しましょう!終了後、テスト結果をアプリのビルドページApps and Artifacts
タブで見つけられます。
Flutterアプリのデプロイ ⚓
Flutterアプリをビルド、デプロイするためworkflowに
Flutter Install
Flutter Build
のStepが含まれてなければいけません。
リポジトリで指定されたプラットフォームがあれば、アプリをBitriseに追加した際にdeploy
workflowが自動的に作成されます。workflowのコンテントはプラットフォーム次第です。例えば、アプリがiOSプロジェクトのみを含んでいる場合、workflowはCertificate and profile installer
、Xcode Archive & Export for iOS
Stepを含みます。
iOS、Androidプロジェクトはworkflowを使い同時、または個々の作成を Flutter Build Stepの Platform 入力でいつでも設定することが可能です。デフォルトにより、Stepは、Bitriseにアプリを追加する際にスキャナーが検出したプラットフォームに従って構成されます。
ワークフローの例をこのコンフィグレーションで、必要なステップを踏まえて説明します。
iOSとAndroidの特有の配置手順については、それぞれのセクションで説明します!
BitriseにFlutter アプリをデプロイ ⚓
Deploy to bitrise.io
ステップはビルドページの APPS & ARTIFACTSタブの中にあるビルドに関係している全てのアーティファクトをアップロードします。
ビルドのURLを使用して、作成されたAPK / .ipaファイルをチームメンバーと共有できます。 APK / .ipaファイルが作成されたことをユーザーグループおよび個々のユーザに通知することもできます。
Deploy to bitrise.io
ステップへNotify: User Roles
にロールを追加するとロールを与えられたユーザーにのみ通知がいきます。または、Notify: Emails
に通知したいユーザーのメールアドレスをsecret env varsとして設定し入力します。APPS & ARTIFACTS
タブで作成されたAPK / .ipaファイルの横にあるのeye
アイコンをクリックすると、詳細をNotifications
で変更することもできます。
App Store ConnectにFlutterアプリをデプロイ ⚓
iOS FlutterプロジェクトをApp Storeにデプロイするために、アプリをビルドし、.ipaファイルをエクスポート後にApp Storeにサブミットします。
テストとは異なり、コード署名ファイルが必要です。
- iOS Distribution Certificate (.p12 file)
- App Store Provisioning Profile
BitriseのiOSコード署名についてはour detailed guidesから!
- ワークフローに
Certificate and profile installer
ステップがあるか確認します。 - 必要なコード署名ファイルをBitriseにアップロードします
Flutter Build
ステップを開き、iOS Platform Configs
入力グループを確認してくださいAdditional parameters
入力にバリュー--release
があるかを確認してください- ステップ
Platform
入力の確認:iOS
かboth
のどちらかに設定します - ”
Flutter Build
ステップ後”に、ワークフローにXcode Archive & Export for iOS
ステップがあることを確認します。 - ステップの
Select method for export
入力をapp-store
で設定します。 Deploy to iTunes Connect
ステップをワークフローの最後に追加します。- 個々の入力項目にAppleのアカウント情報(クレデンシャル)が必要です。
- Apple ID
-
パスワード、iTunes Connectの二要素認証を使っている場合は申請パスワード
パスワードはログやエクスポーズに公開されません-なのでSENSITIVEとマークされています
- ビルド開始!
順調に進んだ場合、ステップはアプリをApp Store Connectにサブミットします。App Store Connectページから、Testflightを介してアプリを外部のテスターに配布するか、App Storeにリリースできます。
Google PlayにFlutterアプリをデプロイ ⚓
Google Playにアプリをデプロイするには、APKファイルをエクスポートして署名する必要があります。
アプリのbuild.gradle
ファイルで署名を設定すると、ビルドフェーズの間にFlutterがアプリに署名します。
他の選択肢について: BitriseでAPKファイルに署名してからGoogle Playにアプリをデプロイできます。まず、キーストアファイルを作成し、Bitriseにアップロードする必要があります。
- アプリのWorkflow Editorを開きます
Code Signing
タブへ- keystoreファイルを
ANDROID KEYSTORE FILE
項目にドラッグ&ドロップします。 Keystore password
,Keystore alias
,Private key password
らの項目を埋め、Save metadata
をクリックします。
完了後、アプリをデプロイするためにワークフローを構成できます。
- Google Play Storeと同期していることを確認します。
- Bitrise
Dashboard
からCode Signing
タブに行きサービスアカウントJSONキーをGENERIC FILE STORAGE
にアップロードします。 -
ファイルURLがあるenv keyをコピーします。
例:
BITRISEIO_SERVICE_ACCOUNT_JSON_KEY_URL
- “
Flutter Build
ステップ後”に、ワークフローにAndroid Sign
ステップがあるか確認します。 Flutter Build
ステップを開きAndroid Platform Configs
入力グループを確認します。Additional parameters
入力にバリュー--release
があるかを確認します。- ステップ
Platform
入力の確認:android
かboth
のどちらかに設定します。 - ワークフローへの
Android Sign
ステップ後に、Google Play Deploy
ステップがあることを確認します - 以下の入力項目に記入します。
Service Account JSON key file path
:この項目はリモートURLを受け入れることができるため、アップロードしたサービスアカウントのJSONキーを含む環境変数を指定する必要があります。例:$BITRISEIO_SERVICE_ACCOUNT_JSON_KEY_URL
Package name
:AndroidアプリのPackage nameTrack
:APKを展開するトラック(例: alpha / beta / rollout / productionまたは設定したカスタムトラック)
さあ、Google Play StoreにAndroidアプリをビルド、リリースしましょう!