- Bitriseドキュメントへようこそ!
- ワークフローとパイプライン
- ワークフロー
- クロスプラットフォームアプリのワークフローレシピ
クロスプラットフォームアプリのワークフローレシピ
FlutterやReactNativeなどのクロスプラットフォームフレームワークで構築されたアプリのワークフローレシピ。
ワークフローレシピは、一般的なワークフロータスク用の既製のソリューションを提供します。
ここでは、FlutterやReactNativeなどのクロスプラットフォームフレームワークで構築されたアプリのワークフローレシピを見つけることができます。
(React Native) キャッシュの依存関係 (node_modules)
説明
依存関係のキャッシュを設定します (node_modules
React Native アプリのフォルダー)。
指示
-
追加Bitrise.io キャッシュ:プルステップ。
-
次のいずれかを追加します yarn コマンドを実行する または npm コマンドを実行する プロジェクトのセットアップに基づいて、ワークフローに進みます。入力変数を設定します。
-
をセットする実行する糸コマンドまた実行する引数を指定した npm コマンド への入力変数
インストール
. -
設定node_modules をキャッシュするに
はい
.
-
-
追加Bitrise.io キャッシュ:プッシュステップ。
-
(オプション) キャッシュを圧縮 への入力変数
真実
.これは、キャッシュ フォルダーが大きく、ビルド時間が遅い場合に役立ちます。
bitrise.yml
使用する 糸
:
- cache-pull@2: {} - yarn@0: inputs: - cache_local_deps: 'yes' - command: install - cache-push@2: inputs: - compress_archive: 'true'
使用する npm
:
- cache-pull@2: {} - npm@1: inputs: - cache_local_deps: 'yes' - command: install - cache-push@2: inputs: - compress_archive: 'true'
(React Native) Expo: Turtle CLI を使用してビルドする
説明
アプリを Expo のサーバーに公開し、iOS App Store を構築する.ipa
そしてアンドロイド.aab
を使用して Expo プロジェクトからファイルタートル CLI.
前提条件
-
に基づいて、iOS 配布証明書と App Store プロビジョニング プロファイルを生成します。iOS コード署名ファイルの生成ガイド.
-
次の手順に従って Android キーストアを生成します。Android Studio ガイドによる Android コード署名.
-
できることを確認してくださいExpo プロジェクトを公開するローカル。
指示
-
でアプリを開きます ビットライズ。
-
クリック ワークフロー メインページのボタン。
-
に行く コード署名とファイル タブ。
-
プロジェクトの iOS 配布証明書と App Store プロビジョニング プロファイルがアップロードされていることを確認します。
そうでない場合は、プロビジョニング プロファイルを追加そしてそのコード署名用の証明書 (.p12 ファイル) を追加する、 それぞれ。
-
プロジェクトの Android キーストア ファイルがアップロードされていることを確認します。
そうでない場合は、キーストア ファイルをアップロードファイル (最大 5 MB)のフィールドAndroid キーストア ファイルセクション。
-
に行く シークレット タブ。
-
シークレットの作成 (
IOS_DEVELOPMENT_TEAM
) プロジェクトの証明書とプロビジョニング プロファイルで発行された iOS 開発チームの ID を使用します。 -
公開に使用する Expo アカウントのユーザー名とパスワードを保存します。
EXPO_USERNAME
とEXPO_PASSWORD
シークレット. -
左側で、 構成YAML ナビゲーション メニューから。
-
コピーペースト
envs
からbitrise.yml
以下をワークフローに追加します。 -
コピーペースト
steps
からbitrise.yml
以下をワークフローに追加します。構築された
.ipa
と.aab
ファイルは経由で公開されますBITRISE_IPA_PATH
とBITRISE_AAB_PATH
環境変数。
bitrise.yml
turtle_build: envs: - KEYSTORE_PATH: /tmp/keystore.jks - KEYSTORE_ALIAS: $BITRISEIO_ANDROID_KEYSTORE_ALIAS - EXPO_ANDROID_KEYSTORE_PASSWORD: $BITRISEIO_ANDROID_KEYSTORE_PASSWORD - EXPO_ANDROID_KEY_PASSWORD: $BITRISEIO_ANDROID_KEYSTORE_PRIVATE_KEY_PASSWORD - PROFILE_PATH: /tmp/profile.mobileprovision - CERTIFICATE_PATH: /tmp/certificate.p12 - EXPO_IOS_DIST_P12_PASSWORD: $BITRISE_CERTIFICATE_PASSPHRASE # Define these in your secrets - IOS_DEVELOPMENT_TEAM: $IOS_DEVELOPMENT_TEAM - EXPO_USERNAME: $EXPO_USERNAME - EXPO_PASSWORD: $EXPO_PASSWORD steps: - script@1: title: Install dependencies inputs: - content: |- #!/usr/bin/env bash set -ex node --version fastlane --version npm install -g turtle-cli turtle --version npm install -g expo-cli expo --version - file-downloader@1: title: Download Android Keystore inputs: - destination: $KEYSTORE_PATH - source: $BITRISEIO_ANDROID_KEYSTORE_URL - file-downloader@1: title: Download iOS Certificate inputs: - destination: $CERTIFICATE_PATH - source: $BITRISE_CERTIFICATE_URL - file-downloader@1: title: Download iOS Provisioning Profile inputs: - destination: $PROFILE_PATH - source: $BITRISE_PROVISION_URL - npm@1: title: Install project dependencies inputs: - command: install - set-java-version@1: title: Set Java version to Java 8 inputs: - set_java_version: "8" - script@1: title: Run Expo publish inputs: - content: |- #!/usr/bin/env bash set -ex expo login -u $EXPO_USERNAME -p $EXPO_PASSWORD --non-interactive expo publish - script@1: title: Run Turtle build inputs: - content: |- #!/usr/bin/env bash set -ex turtle setup:android aab_path=$BITRISE_DEPLOY_DIR/expo-project.aab turtle build:android --type app-bundle --keystore-path $KEYSTORE_PATH --keystore-alias $KEYSTORE_ALIAS -o $aab_path envman add --key BITRISE_AAB_PATH --value $aab_path turtle setup:ios ipa_path=$BITRISE_DEPLOY_DIR/expo-project.ipa turtle build:ios --team-id $IOS_DEVELOPMENT_TEAM --dist-p12-path $CERTIFICATE_PATH --provisioning-profile-path $PROFILE_PATH -o $ipa_path envman add --key BITRISE_IPA_PATH --value $ipa_path
(React Native) テストを実行する
説明
たとえば、Jest でテストを実行します。
指示
-
次のいずれかを追加します yarn コマンドを実行する または npm コマンドを実行する プロジェクトのセットアップに基づいて、ワークフローに進みます。
-
をセットする 実行する糸コマンド また 実行する引数を指定した npm コマンド への入力変数
テスト
.
bitrise.yml
使用する 糸
:
- yarn@0: inputs: - command: test
使用する npm
:
- npm@1: inputs: - command: test
(React Native) 依存関係をインストールする
説明
yarn または npm を使用して依存関係をインストールします。
指示
-
次のいずれかを追加します yarn コマンドを実行する または npm コマンドを実行する プロジェクトのセットアップに基づいて、ワークフローに進みます。
-
をセットする 実行する糸コマンド また 実行する引数を指定した npm コマンド への入力変数
インストール
.
bitrise.yml
使用する 糸
:
- yarn@0: inputs: - command: install
使用する npm
:
- npm@1: inputs: - command: install
(フラッター) テストを実行する
説明
Flutter プロジェクトで任意のテストを実行します。
指示
-
追加フラッターテストワークフローに進みます。入力変数を設定します。
-
プロジェクトの場所: 例えば、
$BITRISE_FLUTTER_PROJECT_LOCATION
. -
ワークフロー エディターまたはステップの説明で、オプションの入力を確認してください。
-
-
を追加Bitrise.io にデプロイする テスト結果をテスト レポート アドオンで利用できるようにする手順。
bitrise.yml
- flutter-test@1: inputs: - project_location: "$BITRISE_FLUTTER_PROJECT_LOCATION" - deploy-to-bitrise-io@2: {}
(Flutter) Flutter SDK をインストール
説明
Flutter の最新の安定版/ベータ版または特定のバージョンをインストールします。
指示
-
追加フラッターのインストールステップ。キャッシュ プル ステップの前にこのステップを使用して、キャッシュが正しく機能することを確認します。
-
最新の安定版/ベータ版または特定のバージョンをインストールします。
-
デフォルトでは、Step は最新の安定バージョンをインストールします。
-
最新のベータ版をインストールするには、Flutter SDK git リポジトリ バージョンの入力を beta に設定します。
-
特定のバージョンをインストールするには、Flutter SDK インストール バンドルの URL 入力を設定します。のリストを見つけることができます Flutter インストール バンドルはこちら.スタック (MacOS または Linux) に基づいてバンドルを設定してください。
ベスト プラクティス
特定のバージョンを使用することをお勧めします。
-
bitrise.yml
特定のバージョン:
--- - flutter-installer@0: inputs: - installation_bundle_url: https://storage.googleapis.com/flutter_infra_release/releases/stable/macos/flutter_macos_2.5.3-stable.zip
最新の安定版:
- flutter-installer@0: {}
最新のベータ版:
- flutter-installer@0: inputs: - version: beta
(フラッター) Dart アナライザーを実行する
説明
Flutter アプリの Dart アナライザーを実行します。
指示
追加フラッター分析ワークフローに進みます。
bitrise.yml
- flutter-analyze@0: inputs: - project_location: $BITRISE_FLUTTER_PROJECT_LOCATION