(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 プロビジョニング プロファイルがアップロードされていることを確認します。
そうでない場合は、そしてその、 それぞれ。
-
プロジェクトの Android キーストア ファイルがアップロードされていることを確認します。
そうでない場合は、キーストア ファイルをのフィールド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