GitHub

Flutterアプリの開始

このガイドではBitriseでのFlutterアプリのセットアップからテスト、ビルド、デプロイまでの説明します。

FlutterとはAndroidやiOs端末向けアプリケーション開発ツール、モバイルSDKです。BitriseはFlutterアプリをサポートしています: 全てのFlutter needsに応えるべくBitriseには専用のステップがあります。

Flutterアプリを追加

ビットライズのアカウントはありますか?

bitrise.ioでサインアップしているかを確認しBitriseアカウントにアクセスしてください。4 waysをクリックしBitriseアカウントとGit service providerのアカウントとコネクトする方法をチェックしてください。

  1. トップメニューにある+をクリックしAdd appセレクトします。
  2. Create New Appページでアプリに追加したいアカウントを選びます。
  3. アプリのプライバシーをPrivateまたはPublicに設定します。Nextをクリックします。
  4. リポジトリをホストするGitホスティングサービスをセレクトし、プロジェクトのリポジトリをセレクトします。詳しくはconnecting your repository
  5. すぐリポジトリアクセスをセットアップするときは、No, auto-add SSH keyをクリックする。詳しくは SSH keys
  6. プロジェクトのコンフィグレーションが含まれているブランチの名前(master等)を入力し、Nextをクリックします。
  7. Bitriseがプロジェクトを有効にするまで待機する。

    BitriseがConfigurationファイルを探し、それらを基にアプリをセットアップします。Flutterアプリの場合はプロジェクトのpubspec.yamlファイルが必要です。

  8. アプリのリポジトリにテストがある場合は、それらを実行するかどうかを決定するように求められます。
  9. FlutterプロジェクトのiOSプロジェクトを使用している場合、ipa export methodをセレクトします。

  10. undefined プロンプトが表示されたらwebhookに登録します

    コードがリポジトリにプッシュされた時、もしくはPull Requestが作成されBitriseがビルドを自動的に始めます。初めてのビルドも始められ、メッセージをクリックしてとビルドページへ。

Flutterアプリのテスト

Flutterでユニット、ウィジェット, システムテストを書き、動かすことができます。詳しくはFlutter’s official documentationをクリック。

Flutterアプリをテストするためにbitriseの自動的に作成されるprimaryワークフローを使うことができます。デフォルトにより静的コードテストを実行しているFlutter Analyzeを含みます。

Flutter テスト

リポジトリでテストしてprompt時にyesをセレクトした場合、アプリの作成中、テストを実行するしないにしても、プライマリーワークフローがデフォルトによりFlutter TestStepを組み込みます。テストをアプリに追加した場合は、その後手動でFlutter TestStepに追加されます。

  1. Workflow Editor アプリ、primaryワークフローを開きます。
  2. Flutter InstallStepで, Flutter SDK Version入力を埋めます。

    Flutter SDKのgitリポジトリのタグかブランチを指定します。デフォルト値はstableです。Flutterの新しいstableブランチを使用できます。

  3. Flutter AnalyzeStepにAdditional parameters入力に使うフラグを追加します。

Stepが指定されたフラグでflutter analyzeコマンドを実行します。使用可能なフラグをチェックするにはコマンドラインインターフェイスをマシンで開きflutter test --helpを実行します。

  1. 3.同様Flutter TestStepにAdditional parameters入力に使うフラグを追加します。

Stepが指定されたフラグでflutter testコマンドを実行します。使用可能なフラグをチェックするにはコマンドラインインターフェイスをマシンで開きflutter test --helpを実行します。

  1. Flutter TestステップのProject Location入力が正確であることを確認します。

デフォルト値はFlutter プロジェクトロケーションのために作成された環境変数です。

ビルドを実行しましょう!終了後、テスト結果をアプリのビルドページApps and Artifactsタブで見つけられます。

Flutterアプリのデプロイ

Flutterアプリをビルド、デプロイするためworkflowに

のStepが含まれてなければいけません。

リポジトリで指定されたプラットフォームがあれば、アプリをBitriseに追加した際にdeployworkflowが自動的に作成されます。workflowのコンテントはプラットフォーム次第です。例えば、アプリがiOSプロジェクトのみを含んでいる場合、workflowはCertificate and profile installerXcode Archive & Export for iOSStepを含みます。

iOS、Androidプロジェクトはworkflowを使い同時、または個々の作成を Flutter Build Stepの Platform 入力でいつでも設定することが可能です。デフォルトにより、Stepは、Bitriseにアプリを追加する際にスキャナーが検出したプラットフォームに従って構成されます。

ワークフローの例をこのコンフィグレーションで、必要なステップを踏まえて説明します。

iOSとAndroidの特有の配置手順については、それぞれのセクションで説明します!

パッケージとライブラリ

Flutterのパッケージとライブラリをビルドするサポートもしています。アプリとは異なり、ビルドするためのアーティファクトがないのでワークフローにFlutter Buildステップは必要ありません。

BitriseにFlutter アプリをデプロイ

Deploy to bitrise.ioステップはビルドページの APPS & ARTIFACTSタブの中にあるビルドに関係している全てのアーティファクトをアップロードします。

ビルドのURLを使用して、作成されたAPK / .ipaファイルをチームメンバーと共有できます。 APK / .ipaファイルが作成されたことをユーザーグループおよび個々のユーザに通知することもできます。

  1. Deploy to bitrise.ioステップへ
  2. 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にサブミットします。

テストとは異なり、コード署名ファイルが必要です。

BitriseのiOSコード署名についてはour detailed guidesから!

  1. ワークフローにCertificate and profile installerステップがあるか確認します。
  2. 必要なコード署名ファイルをBitriseにアップロードします
  3. Flutter Buildステップを開き、iOS Platform Configs入力グループを確認してください
  4. Additional parameters入力にバリュー--releaseがあるかを確認してください
  5. ステップPlatform入力の確認: iOSbothのどちらかに設定します
  6. Flutter Buildステップ後”に、ワークフローにXcode Archive & Export for iOSステップがあることを確認します。
  7. ステップのSelect method for export入力をapp-storeで設定します。
  8. Deploy to iTunes Connectステップをワークフローの最後に追加します。
  9. 個々の入力項目にAppleのアカウント情報(クレデンシャル)が必要です。
    • Apple ID
    • パスワード、iTunes Connectの二要素認証を使っている場合は申請パスワード

      パスワードはログやエクスポーズに公開されません-なのでSENSITIVEとマークされています

  10. ビルド開始!

順調に進んだ場合、ステップはアプリをApp Store Connectにサブミットします。App Store Connectページから、Testflightを介してアプリを外部のテスターに​​配布するか、App Storeにリリースできます。

Google PlayにFlutterアプリをデプロイ

Google Playにアプリをデプロイするには、APKファイルをエクスポートして署名する必要があります。

アプリのbuild.gradleファイルで署名を設定すると、ビルドフェーズの間にFlutterがアプリに署名します。

他の選択肢について: BitriseでAPKファイルに署名してからGoogle Playにアプリをデプロイできます。まず、キーストアファイルを作成し、Bitriseにアップロードする必要があります。

  1. アプリのWorkflow Editorを開きます
  2. Code Signingタブへ
  3. keystoreファイルをANDROID KEYSTORE FILE項目にドラッグ&ドロップします。
  4. Keystore passwordKeystore alias,  Private key passwordらの項目を埋め、Save metadataをクリックします。

完了後、アプリをデプロイするためにワークフローを構成できます。

  1. Google Play Storeと同期していることを確認します。
  2. Bitrise DashboardからCode Signingタブに行きサービスアカウントJSONキーをGENERIC FILE STORAGEにアップロードします。
  3. ファイルURLがあるenv keyをコピーします。

    例:BITRISEIO_SERVICE_ACCOUNT_JSON_KEY_URL

  4. Flutter Buildステップ後”に、ワークフローにAndroid Signステップがあるか確認します。
  5. Flutter Buildステップを開きAndroid Platform Configs入力グループを確認します。
  6. Additional parameters入力にバリュー--releaseがあるかを確認します。
  7. ステップPlatform入力の確認:androidbothのどちらかに設定します。
  8. ワークフローへのAndroid Signステップ後に、Google Play Deployステップがあることを確認します
  9. 以下の入力項目に記入します。
    • Service Account JSON key file path:この項目はリモートURLを受け入れることができるため、アップロードしたサービスアカウントのJSONキーを含む環境変数を指定する必要があります。例:$BITRISEIO_SERVICE_ACCOUNT_JSON_KEY_URL
    • Package name:AndroidアプリのPackage name
    • Track:APKを展開するトラック(例: alpha / beta / rollout / productionまたは設定したカスタムトラック)

さあ、Google Play StoreにAndroidアプリをビルド、リリースしましょう!