Перейти к содержимому

Сгенерированный проект 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, вам нужно убедиться, что tuist доступен в окружении схемы, так как пост-действия Xcode не наследуют PATH вашей оболочки. Для установок через 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 аутентифицирован.

Для CI на основе xcodebuild вам необходимо:

  • Использовать tuist xcodebuild при вызове действий xcodebuild.
  • Добавить -resultBundlePath в вашу команду xcodebuild.

Без -resultBundlePath необходимые журналы активности и пакеты результатов не генерируются, и tuist inspect build не может проанализировать сборку.

Метрики машины#

Аналитика сборки может включать метрики производительности на уровне машины (ЦП, память, сеть и использование диска), собираемые во время сборки. Чтобы включить это, настройте легкий фоновый демон, который непрерывно собирает системные метрики:

bash
tuist setup insights

Это запускает локальный демон, который собирает метрики в фоновом режиме. Данные автоматически подбираются tuist inspect build и загружаются вместе с отчетом о сборке.

Ci

Выполните tuist setup insights на ваших машинах CI перед сборкой, чтобы также собирать метрики машины там.

Чтобы прекратить сбор метрик машины, выполните:

bash
tuist teardown insights

Это выгружает LaunchAgent демона, удаляет его plist и удаляет собранные метрики и логи демона из ~/.local/state, поэтому ничего не остается работать в фоновом режиме.

Пользовательские метаданные#

Вы можете прикреплять метаданные к сборкам с помощью переменных окружения для улучшения фильтрации.

Переменные окружения#

ПеременнаяФорматОписание
TUIST_BUILD_TAGSРазделено запятымиНесколько тегов в одной переменной.
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"