- Bitriseドキュメントへようこそ!
- ワークフローとパイプライン
- ワークフロー
- iOSアプリのワークフローレシピ
iOSアプリのワークフローレシピ
iOSアプリ専用のワークフローレシピ。これらの一部は、クロスプラットフォームアプリのiOSバージョンにも使用できますが、ネイティブiOSアプリ専用のものもあります。
ワークフローレシピは、一般的なワークフロータスク用の既製のソリューションを提供します。
ここでは、iOSアプリ専用のワークフローレシピを見つけることができます。これらの一部は、クロスプラットフォームアプリのiOSバージョンにも使用できますが、ネイティブiOSアプリ専用のものもあります。
(iOS) Visual Studio App Center にデプロイする
説明
アプリをビルドし、AppCenter を介してテスターに配布します。
前提条件
指示
-
追加Xcode アーカイブ & iOS 用エクスポートステップ。入力変数を設定します。
-
プロジェクト パス: デフォルトで
$BITRISE_PROJECT_PATH
. -
図式: デフォルトで
$BITRISE_SCHEME
. -
配布方法:発達、このためにまた企業.
-
-
追加AppCenter iOS デプロイ次の入力をステップ実行して設定します。
-
APIトークン:
$APPCENTER_API_TOKEN
. -
所有者名: 例えば、
弊社
. -
アプリ名: 例えば、
マイアプリ
.App Center CLI を使用してアプリ名を取得します。これは、Visual Studio App Center Web サイトに表示されるものとは異なる場合があるためです。
ステップのドキュメントまたはワークフロー エディターで他のオプションを確認してください。
-
bitrise.yml
- xcode-archive@4: inputs: - project_path: "$BITRISE_PROJECT_PATH" - scheme: "$BITRISE_SCHEME" - automatic_code_signing: apple-id - distribution_method: development - appcenter-deploy-ios@2: inputs: - owner_name: my-company - app_name: my-app - api_token: "$APPCENTER_API_TOKEN"
(iOS) CocoaPods の依存関係をキャッシュする
説明
のコンテンツをキャッシュするPods
iOS プロジェクトのフォルダー。
指示
-
追加Bitrise.io キャッシュ:プルステップ。
-
追加CocoaPods のインストールを実行するステップ。
-
追加Bitrise.io キャッシュ:プッシュステップ。
オプションで設定できますアーカイブを圧縮に真実.これは、キャッシュされたフォルダーが大きい場合に便利です。
bitrise.yml
- cache-pull@2: {} - cocoapods-install@2: {} - cache-push@2: {}
(iOS) App Store Connect / TestFlight へのデプロイ
説明
アプリをアーカイブし、App Store Connect にアップロードして、App Store または TestFlight にリリースします。
前提条件
-
ソース コードが複製され、依存関係 (Cocoapods、Carthage など) がインストールされます。
-
コード署名が設定されました。見るiOS コード署名詳細については。
-
Apple Developer 接続がセットアップされました。見るApple サービス接続詳細については。
指示
-
(オプション)Xcode プロジェクトのビルド番号を設定するステップ。入力変数を設定します。
-
Info.plist ファイルのパス: 例えば、
MyApp/Info.plist
. -
ビルド番号: 例えば、
42
. -
バージョンナンバー: 例えば、
1.1
.
-
-
追加Xcode アーカイブ & iOS 用エクスポートステップ。入力変数を設定します。
-
プロジェクト パス: デフォルトでは、
$BITRISE_PROJECT_PATH
. -
図式: デフォルトで
$BITRISE_SCHEME
. -
配布方法: に設定する必要がありますアプリストア.
-
-
追加App Store Connect へのデプロイ - Application Loader (以前の iTunes Connect)ステップ。入力変数を設定する Bitrise Apple 開発者接続: 例えば、api_key.
Deploy to App Store Connect with Deliver (旧 iTunes Connect) のさらに多くのオプション
または、Deliver を使用して App Store Connect にデプロイ (以前の iTunes Connect)同様に、より多くのオプションを提供します。
bitrise.yml
- set-xcode-build-number@1: inputs: - build_short_version_string: '1.0' - plist_path: BitriseTest/Info.plist - xcode-archive@4: inputs: - project_path: "$BITRISE_PROJECT_PATH" - scheme: "$BITRISE_SCHEME" - automatic_code_signing: api_key - distribution_method: app-store - deploy-to-itunesconnect-application-loader@1: inputs: - connection: api_key
(iOS) CI ワークフローの例
説明
iOS アプリのメイン ブランチでのコミットのワークフローの例。ワークフローには次が含まれます。
bitrise.yml
--- format_version: '11' default_step_lib_source: https://github.com/bitrise-io/bitrise-steplib.git project_type: ios workflows: ci: steps: - activate-ssh-key@4: run_if: '{{getenv "SSH_RSA_PRIVATE_KEY" | ne ""}}' - git-clone@6: {} - cache-pull@2: {} - cocoapods-install@2: {} - carthage@3: inputs: - carthage_options: "--use-xcframeworks --platform iOS" - recreate-user-schemes@1: inputs: - project_path: "$BITRISE_PROJECT_PATH" - xcode-test@4: inputs: - log_formatter: xcodebuild - xcodebuild_options: "-enableCodeCoverage YES" - xcode-archive@4: inputs: - project_path: "$BITRISE_PROJECT_PATH" - scheme: "$BITRISE_SCHEME" - automatic_code_signing: apple-id - distribution_method: development - deploy-to-bitrise-io@2: {} - slack@3: inputs: - channel: "#build-notifications" - webhook_url: "$SLACK_WEBHOOK" - cache-push@2: {} app: envs: - opts: is_expand: false BITRISE_PROJECT_PATH: BitriseTest.xcworkspace - opts: is_expand: false BITRISE_SCHEME: BitriseTest - opts: is_expand: false BITRISE_DISTRIBUTION_METHOD: development trigger_map: - push_branch: main workflow: ci
(iOS) bitrise.io にデプロイ
説明
アプリをビルドし、Bitrise.io Ship を介してテスターに配布します。
前提条件
コード署名が設定されました。見るiOS コード署名詳細については。
指示
-
追加Xcode アーカイブ & iOS 用エクスポートステップ。入力変数を設定します。
-
プロジェクト パス: デフォルトでは、
$BITRISE_PROJECT_PATH
. -
図式: デフォルトでは、
$BITRISE_SCHEME
. -
配布方法:発達、このためにまた企業.
-
bitrise.yml
- xcode-archive@4: inputs: - project_path: "$BITRISE_PROJECT_PATH" - scheme: "$BITRISE_SCHEME" - automatic_code_signing: apple-id - distribution_method: development - deploy-to-bitrise-io@2: {}
(iOS) プル リクエストのワークフローの例
説明
iOS プル リクエスト検証のワークフローの例。ワークフローには次が含まれます。
-
プル リクエストのワークフローをトリガーします。
bitrise.yml
--- format_version: '11' default_step_lib_source: https://github.com/bitrise-io/bitrise-steplib.git project_type: ios workflows: pull-request: steps: - activate-ssh-key@4: run_if: '{{getenv "SSH_RSA_PRIVATE_KEY" | ne ""}}' - git-clone@6: {} - cache-pull@2: {} - cocoapods-install@2: {} - carthage@3: inputs: - carthage_options: "--use-xcframeworks --platform iOS" - recreate-user-schemes@1: inputs: - project_path: "$BITRISE_PROJECT_PATH" - xcode-test@4: inputs: - log_formatter: xcodebuild - xcodebuild_options: "-enableCodeCoverage YES" - xcode-archive@4: inputs: - project_path: "$BITRISE_PROJECT_PATH" - scheme: "$BITRISE_SCHEME" - automatic_code_signing: apple-id - distribution_method: development - deploy-to-bitrise-io@2: {} - create-install-page-qr-code@1: {} - comment-on-github-pull-request@0: inputs: - body: |- ![QR code]($BITRISE_PUBLIC_INSTALL_PAGE_QR_CODE_IMAGE_URL) $BITRISE_PUBLIC_INSTALL_PAGE_URL - personal_access_token: "$GITHUB_ACCESS_TOKEN" - cache-push@2: {} app: envs: - opts: is_expand: false BITRISE_PROJECT_PATH: BitriseTest.xcworkspace - opts: is_expand: false BITRISE_SCHEME: BitriseTest - opts: is_expand: false BITRISE_DISTRIBUTION_METHOD: development trigger_map: - pull_request_source_branch: "*" workflow: pull-request
(iOS) Firebase App Distribution へのデプロイ
説明
Firebase App Distribution を介してアプリをビルドし、テスターに配布します。
前提条件
-
正確なバンドル ID が登録されている既存の Firebase プロジェクト。フォローする Firebase ドキュメント 詳細については。
-
firebase を実行して Firebase からトークンを取得する
login:ci
ローカル。を参照してください Firebase CLI 詳細については、ドキュメントを参照してください。 -
このトークンをシークレットとして Bitrise プロジェクトに追加します。
FIREBASE_TOKEN
. -
プロジェクトから Firebase アプリ ID を取得します。 一般設定 ページに移動し、この値を入力変数として [ベータ] Firebase アプリの配布 ステップ。
-
コード署名が設定されました。見る iOS コード署名 詳細については。
指示
-
追加 Xcode アーカイブ & iOS 用エクスポート次のような必要な入力変数をステップ実行して設定します。 図式、 配布方法 および目的のコード署名方法。
-
追加[ベータ] Firebase アプリの配布次の入力変数をステップ実行して設定します。
-
Firebase トークン: 前に定義した秘密の環境変数を使用します。
$FIREBASE_TOKEN
. -
Firebase アプリ ID: 詳細については、上記の前提条件セクションを参照してください。
-
必要に応じて、ステップ入力変数でテスト グループまたは個々のテスターを定義できます。
-
bitrise.yml
- xcode-archive@6: inputs: - distribution_method: development - scheme: # your scheme goes here - automatic_code_signing: api-key - firebase-app-distribution@0: inputs: - firebase_token: $FIREBASE_TOKEN - app: # your app ID from Firebase - testers: [email protected] # optional - groups: qa-team #optional
(iOS) 毎晩のワークフローの例
説明
iOS アプリのナイトリー ビルドのワークフローの例。ワークフローには次が含まれます。
-
バージョンとビルド番号の設定.デフォルトでは、アプリはビルド番号 (
$BITRISE_BUILD_NUMBER
) をバージョン コードとして使用します。
私たちをチェックしてくださいガイドスケジュールされたビルドを実行します。
bitrise.yml
--- format_version: '11' default_step_lib_source: https://github.com/bitrise-io/bitrise-steplib.git project_type: ios workflows: nightly: steps: - activate-ssh-key@4: run_if: '{{getenv "SSH_RSA_PRIVATE_KEY" | ne ""}}' - git-clone@6: {} - cache-pull@2: {} - cocoapods-install@2: {} - carthage@3: inputs: - carthage_options: "--use-xcframeworks --platform iOS" - set-xcode-build-number@1: inputs: - build_short_version_string: '1.0' - plist_path: BitriseTest/Info.plist - recreate-user-schemes@1: inputs: - project_path: "$BITRISE_PROJECT_PATH" - xcode-archive@4: inputs: - project_path: "$BITRISE_PROJECT_PATH" - scheme: "$BITRISE_SCHEME" - automatic_code_signing: apple-id - distribution_method: app-store - deploy-to-itunesconnect-application-loader@1: inputs: - connection: apple_id - xcode-archive@4: inputs: - project_path: "$BITRISE_PROJECT_PATH" - scheme: "$BITRISE_SCHEME" - automatic_code_signing: apple-id - distribution_method: development - deploy-to-bitrise-io@2: {} - deploy-to-bitrise-io@2: {} - create-install-page-qr-code@1: {} - slack@3: inputs: - channel: "#build-notifications" - thumb_url: "$BITRISE_PUBLIC_INSTALL_PAGE_QR_CODE_IMAGE_URL" - webhook_url: "$SLACK_WEBHOOK" - cache-push@2: {} app: envs: - opts: is_expand: false BITRISE_PROJECT_PATH: BitriseTest.xcworkspace - opts: is_expand: false BITRISE_SCHEME: BitriseTest - opts: is_expand: false BITRISE_DISTRIBUTION_METHOD: development
(iOS) 物理デバイスでテストを実行する
説明
物理デバイスで単体テストまたは UI テストを実行します。私たちの デバイス テスト ソリューション に基づいています Firebase テスト ラボ.結果のログ、ビデオ、スクリーンショットは Bitrise で見つけることができます。
前提条件
-
ソース コードが複製され、依存関係 (Cocoapods、Carthage など) がインストールされます。
-
コード署名が設定されました。見るiOS コード署名詳細については。
指示
-
を追加iOS のテスト用の Xcode ビルドステップ。
-
を追加[ベータ] iOS デバイスのテスト コード署名のステップとセットアップ。
-
を追加Bitrise.io へのデプロイ - アプリ、ログ、アーティファクトテスト結果をテストレポート アドオン。テストレポート
bitrise.yml
- xcode-build-for-test@1: inputs: - automatic_code_signing: api_key - virtual-device-testing-for-ios@1: {} - deploy-to-bitrise-io@2: {}
(iOS) シミュレーターでテストを実行する
説明
シミュレーターで iOS アプリの単体テストまたは UI テストを実行します。
指示
-
を追加iOS の Xcode テストステップ。入力変数を設定します。
-
プロジェクト パス: デフォルト値は
$BITRISE_PROJECT_PATH
ほとんどの場合、変更する必要はありません。 -
図式: デフォルト値は
$BITRISE_SCHEME
、この変数は Bitrise にアプリを追加するときに設定したスキームを保存します。必要に応じて別のスキームを指定できますが、共有スキームである必要があります。 -
デバイス宛先指定子: (デフォルト:
プラットフォーム=iOS シミュレーター、名前=iPhone 8 Plus、OS=最新
)。
Xcode UI テスト用の追加シミュレーターのインストール
使用しているスタックでは利用できない Xcode UI テスト用のシミュレーターが必要な場合は、以下を確認してください。 この記事 ナレッジ ベースのガイドを参照してください。
-
bitrise.yml
- xcode-test@4: {} - deploy-to-bitrise-io@2: {}
(iOS) CocoaPods の依存関係をインストールする
説明
CocoaPods の依存関係をインストールします。ステップでプロジェクト ファイルではなく、ワークスペースを使用していることを確認してください。これを行うには、次の値を確認します。$BITRISE_PROJECT_PATH
環境変数。
指示
-
追加CocoaPods のインストールを実行するステップ。
-
(オプション) Podfile がルートにない場合は、 Podfile パス 入力変数。
bitrise.yml
- cocoapods-install@2: {}
(iOS) Carthage の依存関係をインストールする
説明
Carthage の依存関係をインストールします。
指示
追加カルタゴステップ。入力変数を設定します。
-
Github パーソナル アクセス トークン: GitHub アクセス トークンを シークレット (
$GITHUB_ACCESS_TOKEN
)。 GitHub のレート制限の問題を回避するには、このトークンが必要です。 GitHub ガイドを参照してください。コマンドラインで使用するアクセス トークンの作成パーソナル アクセス トークンの作成方法については、こちらをご覧ください。このトークンを作成するときは、すべてのスコープ ボックスをオフにします。このトークンが個人情報へのアクセスを必要とする理由はありません。 -
(オプション) セット carthage コマンドの追加オプション: を参照カルタゴのドキュメント使用可能なオプションについては、たとえば、
--use-xcframeworks --platform iOS
.
ビルドで特定の Carthage バージョンを設定する
あなたのプロジェクトが現在私たちのスタックで利用できない Carthage バージョンを必要とする場合は、こちらをチェックしてください。 ビルドで特定の Carthage バージョンを設定する.
bitrise.yml
- carthage@3: inputs: - carthage_options: "--use-xcframeworks --platform iOS"
(iOS) リリースワークフローの例
説明
iOS アプリのリリース ドラフトを App Store にアップロードするワークフローの例。ワークフローには次が含まれます。
-
バージョン番号の設定に基づくビルドに渡される環境変数(
$VERSION_NUMBER
)。
bitrise.yml
--- format_version: '11' default_step_lib_source: https://github.com/bitrise-io/bitrise-steplib.git project_type: ios workflows: release: steps: - activate-ssh-key@4: run_if: '{{getenv "SSH_RSA_PRIVATE_KEY" | ne ""}}' - git-clone@6: {} - cocoapods-install@2: {} - carthage@3: inputs: - carthage_options: "--use-xcframeworks --platform iOS" - set-xcode-build-number@1: inputs: - build_short_version_string: "$VERSION_NUMBER" - build_version: "$BITRISE_BUILD_NUMBER" - plist_path: BitriseTest/Info.plist - recreate-user-schemes@1: inputs: - project_path: "$BITRISE_PROJECT_PATH" - xcode-archive@4: inputs: - project_path: "$BITRISE_PROJECT_PATH" - scheme: "$BITRISE_SCHEME" - automatic_code_signing: apple-id - distribution_method: app-store - deploy-to-itunesconnect-application-loader@1: inputs: - connection: apple_id app: envs: - opts: is_expand: false BITRISE_PROJECT_PATH: BitriseTest.xcworkspace - opts: is_expand: false BITRISE_SCHEME: BitriseTest - opts: is_expand: false BITRISE_DISTRIBUTION_METHOD: development
(iOS) ステップ入力を使用して Apple サービス接続資格情報をオーバーライドする
説明
で構成された Apple サービス接続資格情報をオーバーライドできます。 アプリの設定 の下の入力を設定することによって App Store Connect 接続のオーバーライド の入力グループ Xcode アーカイブ & iOS 用エクスポート ステップ.
これは、チームが複数の App Store アカウントを使用している場合、または単一の Bitrise で複数のアプリを管理している場合に役立ちます。 アプリ に基づいてさまざまな Apple サービス接続を使用したいと考えています。 ワークフロー.
前提条件
開始する前に、次を使用して生成または取得します App Store Connect:
-
App Store Connect API 秘密鍵。
-
App Store Connect API キー ID。
-
App Store Connect API 発行者 ID。
詳細については、こちらをご覧ください App Store Connect API 秘密鍵の作成.
指示
-
App Store Connect API 秘密鍵ファイル (.p8 ファイル) を 汎用ファイル ストレージ の中に コード署名 タブ。
-
追加Xcode アーカイブ & iOS 用エクスポートステップ (バージョン 4.6.0 以降) をワークフローに追加します。
-
をセットする 自動コード署名方法 への入力
api-key
. -
以下のステップ入力を設定します App Store Connect 接続のオーバーライド 入力グループ:
-
App Store Connect API 秘密鍵: App Store Connect API の秘密鍵 (.p8 ファイル) へのローカル パスまたはリモート URL。にアップロードした App Store Connect API 秘密鍵ファイル (.p8 ファイル) に接続された、自動生成された環境変数にこの入力を設定します。 汎用ファイル ストレージ ステップ1で。
-
App Store Connect API キー ID: App Store Connect 認証に使用する秘密鍵 ID。
-
App Store Connect API 発行者 ID: App Store Connect 認証に使用する秘密鍵発行者 ID。
-
bitrise.yml
- xcode-archive@4: inputs: - automatic_code_signing: api-key - api_key_path: "$BITRISEIO_APP_STORE_CONNECT_API_ID_URL" - api_key_id: "$APP_STORE_API_ID" - api_key_issuer_id: "$APP_STORE_API_ISSUER_ID"