Skip to main content

(React Native) Expo: Turtle CLI を使用してビルドする

説明

アプリを Expo のサーバーに公開し、iOS App Store を構築する.ipaそしてアンドロイド.aabを使用して Expo プロジェクトからファイルタートル CLI.

前提条件

  1. に基づいて、iOS 配布証明書と App Store プロビジョニング プロファイルを生成します。iOS コード署名ファイルの生成ガイド.

  2. 次の手順に従って Android キーストアを生成します。Android Studio ガイドによる Android コード署名.

  3. できることを確認してくださいExpo プロジェクトを公開するローカル。

指示

  1. でアプリを開きます ビットライズ

  2. クリック ワークフロー メインページのボタン。

  3. に行く コード署名とファイル タブ。

  4. プロジェクトの iOS 配布証明書と App Store プロビジョニング プロファイルがアップロードされていることを確認します。

    そうでない場合は、プロビジョニング プロファイルを追加そしてそのコード署名用の証明書 (.p12 ファイル) を追加する、 それぞれ。

  5. プロジェクトの Android キーストア ファイルがアップロードされていることを確認します。

    そうでない場合は、キーストア ファイルをアップロードファイル (最大 5 MB)のフィールドAndroid キーストア ファイルセクション。

  6. に行く シークレット タブ。

  7. シークレットの作成 (IOS_DEVELOPMENT_TEAM) プロジェクトの証明書とプロビジョニング プロファイルで発行された iOS 開発チームの ID を使用します。

  8. 公開に使用する Expo アカウントのユーザー名とパスワードを保存します。 EXPO_USERNAMEEXPO_PASSWORD シークレット.

  9. に移動します bitrise.yml タブ。

  10. コピーペーストenvsからbitrise.yml以下をワークフローに追加します。

  11. コピーペーストstepsからbitrise.yml以下をワークフローに追加します。

    構築された.ipa.aabファイルは経由で公開されますBITRISE_IPA_PATHBITRISE_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