コンテンツへスキップ

生成されたXcodeプロジェクト

Note

自動生成されたスキームには、tuist inspect build ポストアクションが自動的に含まれます。

生成されたスキームでビルドインサイトを追跡したくない場合は、buildInsightsDisabled を使用して無効にしてください。

カスタムスキームを持つ生成されたプロジェクトを使用している場合は、ポストアクションを自分で追加する必要があります。Mise の場合:

swift
let project = Project(
name: "MyProject",
targets: [
// Your targets
],
schemes: [
.scheme(
name: "MyApp",
shared: true,
buildAction: .buildAction(
targets: ["MyApp"],
postActions: [
.executionAction(
title: "Inspect Build",
scriptText: """
$HOME/.local/bin/mise x -C $SRCROOT -- tuist inspect build
""",
target: "MyApp"
)
],
runPostActionsOnFailure: true
),
runAction: .runAction(configuration: "Debug")
)
]
)

Miseを使用していない場合は、Xcodeのポストアクションがシェルの PATH を継承しないため、スキームの環境で tuist が利用可能であることを確認する必要があります。Homebrew インストールの場合:

swift
buildAction: .buildAction(
targets: ["MyApp"],
postActions: [
.executionAction(
title: "Inspect Build",
scriptText: """
export PATH="/opt/homebrew/bin:/usr/local/bin:$PATH"
tuist inspect build
""",
target: "MyApp"
)
],
runPostActionsOnFailure: true
)

CIでのビルドインサイト#

CIでビルドインサイトを追跡するには、CIが 認証済み であることを確認してください。

Xcodebuild駆動のCIの場合、次のことを行う必要があります:

  • xcodebuild アクションを呼び出す際に tuist xcodebuild を使用します。
  • xcodebuild コマンドに -resultBundlePath を追加します。

-resultBundlePath がないと、必要なアクティビティログと結果バンドルが生成されず、tuist inspect build でビルドを分析できません。

マシンメトリクス#

ビルドインサイトには、ビルド中にキャプチャされたマシンレベルのパフォーマンスメトリクス(CPU、メモリ、ネットワーク、およびディスク使用量)を含めることができます。これを有効にするには、システムメトリクスを継続的にサンプリングする軽量なバックグラウンドデーモンを設定します:

bash
tuist setup insights

これにより、バックグラウンドでメトリクスをサンプリングするローカルデーモンが実行されます。データは tuist inspect build によって自動的に取得され、ビルドレポートと一緒にアップロードされます。

Ci

マシンメトリクスをそこでもキャプチャするために、ビルド前にCIマシンで tuist setup insights を実行します。

マシンメトリクスの収集を停止するには、次を実行します:

bash
tuist teardown insights

これにより、デーモンのLaunchAgentがアンロードされ、そのplistが削除され、サンプリングされたメトリクスとデーモンログが ~/.local/state から削除されるため、バックグラウンドで実行されているものは何も残りません。

カスタムメタデータ#

フィルタリングを改善するために、環境変数を使用してビルドにメタデータを添付できます。

環境変数#

変数形式説明
TUIST_BUILD_TAGSカンマ区切り1つの変数に複数のタグ。
TUIST_BUILD_VALUE_*単一値サフィックスがキーであるキー・バリューペア。

例#

ビルドを呼び出す前に、CIまたはシェルでこれらの値を設定します:

bash
export TUIST_BUILD_TAGS="nightly,ios-team,release-candidate"
bash
export TUIST_BUILD_VALUE_TICKET="PROJ-1234"
export TUIST_BUILD_VALUE_PR_URL="https://github.com/myorg/myrepo/pull/123"