生成されたXcodeプロジェクト
自動生成されたスキームには、tuist inspect build ポストアクションが自動的に含まれます。
生成されたスキームでビルドインサイトを追跡したくない場合は、buildInsightsDisabled を使用して無効にしてください。
カスタムスキームを持つ生成されたプロジェクトを使用している場合は、ポストアクションを自分で追加する必要があります。Mise の場合:
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 インストールの場合:
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、メモリ、ネットワーク、およびディスク使用量)を含めることができます。これを有効にするには、システムメトリクスを継続的にサンプリングする軽量なバックグラウンドデーモンを設定します:
tuist setup insights
これにより、バックグラウンドでメトリクスをサンプリングするローカルデーモンが実行されます。データは tuist inspect build によって自動的に取得され、ビルドレポートと一緒にアップロードされます。
マシンメトリクスをそこでもキャプチャするために、ビルド前にCIマシンで tuist setup insights を実行します。
マシンメトリクスの収集を停止するには、次を実行します:
tuist teardown insights
これにより、デーモンのLaunchAgentがアンロードされ、そのplistが削除され、サンプリングされたメトリクスとデーモンログが ~/.local/state から削除されるため、バックグラウンドで実行されているものは何も残りません。
カスタムメタデータ#
フィルタリングを改善するために、環境変数を使用してビルドにメタデータを添付できます。
環境変数#
| 変数 | 形式 | 説明 |
|---|---|---|
TUIST_BUILD_TAGS | カンマ区切り | 1つの変数に複数のタグ。 |
TUIST_BUILD_VALUE_* | 単一値 | サフィックスがキーであるキー・バリューペア。 |
例#
ビルドを呼び出す前に、CIまたはシェルでこれらの値を設定します:
export TUIST_BUILD_TAGS="nightly,ios-team,release-candidate"
export TUIST_BUILD_VALUE_TICKET="PROJ-1234"
export TUIST_BUILD_VALUE_PR_URL="https://github.com/myorg/myrepo/pull/123"