კონტენტზე გადასვლა

გენერირებული Xcode პროექტი

Note

ავტომატურად გენერირებული სქემები ავტომატურად მოიცავენ tuist inspect build post-action-ს.

თუ არ გსურთ აგების ინფორმაციის თვალყურის დევნა გენერირებულ სქემებში, გათიშეთ ის buildInsightsDisabled-ის გამოყენებით.

თუ იყენებთ გენერირებულ პროექტებს მორგებული სქემებით, თავად უნდა დაამატოთ post-action. 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-ის post-actions არ იღებენ თქვენი shell-ის 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 არის აუთენტიფიცირებული.

Xcodebuild-ზე დაფუძნებული CI-ისთვის თქვენ უნდა:

  • გამოიყენოთ tuist xcodebuild, როდესაც იწვევთ xcodebuild ქმედებებს.
  • დაამატოთ -resultBundlePath თქვენს xcodebuild ბრძანებაში.

-resultBundlePath-ის გარეშე, საჭირო აქტივობის ლოგები და შედეგების ბანდლები არ გენერირდება და tuist inspect build ვერ შეძლებს აგების ანალიზს.

მანქანის მეტრიკები#

აგების ინფორმაცია შეიძლება მოიცავდეს მანქანის დონის შესრულების მეტრიკებს (CPU, მეხსიერება, ქსელი და დისკის გამოყენება), რომლებიც აღიბეჭდება აგების დროს. ამის ჩასართავად, დააყენეთ მსუბუქი ფონური დემონი, რომელიც უწყვეტად იღებს სისტემის მეტრიკებს:

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-ში ან თქვენს shell-ში აგების გამოძახებამდე:

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"