Pamięć podręczna Xcode
Tuist zapewnia obsługę pamięci podręcznej kompilacji Xcode, która umożliwia zespołom udostępnianie artefaktów kompilacji poprzez wykorzystanie możliwości buforowania systemu kompilacji.
Konfiguracja
::: ostrzeżenie WYMAGANIA
- Konto i projekt Tuist
- Xcode 26.0 lub nowszy
:::
Jeśli nie masz jeszcze konta i projektu Tuist, możesz je utworzyć, uruchamiając aplikację:
bash
tuist initGdy masz już plik Tuist.swift odwołujący się do twojego fullHandle, możesz skonfigurować buforowanie dla swojego projektu, uruchamiając go:
bash
tuist setup cacheTo polecenie tworzy LaunchAgent, aby uruchomić lokalną usługę pamięci podręcznej podczas uruchamiania, której system kompilacji Swift używa do udostępniania artefaktów kompilacji. Polecenie to należy uruchomić raz zarówno w środowisku lokalnym, jak i CI.
Aby skonfigurować pamięć podręczną na CI, upewnij się, że jesteś
uwierzytelniony.Konfiguracja ustawień kompilacji Xcode
Dodaj następujące ustawienia kompilacji do projektu Xcode:
COMPILATION_CACHE_ENABLE_CACHING = YES
COMPILATION_CACHE_REMOTE_SERVICE_PATH = $HOME/.local/state/tuist/your_org_your_project.sock
COMPILATION_CACHE_ENABLE_PLUGIN = YES
COMPILATION_CACHE_ENABLE_DIAGNOSTIC_REMARKS = YESNależy pamiętać, że COMPILATION_CACHE_REMOTE_SERVICE_PATH i COMPILATION_CACHE_ENABLE_PLUGIN muszą zostać dodane jako zdefiniowane przez użytkownika ustawienia kompilacji, ponieważ nie są one bezpośrednio dostępne w interfejsie ustawień kompilacji Xcode:
SOCKET PATH
Ścieżka gniazda zostanie wyświetlona po uruchomieniu tuist setup cache. Jest ona oparta na pełnej nazwie projektu z ukośnikami zastąpionymi podkreślnikami.
Ustawienia te można również określić podczas uruchamiania xcodebuild, dodając następujące flagi, takie jak
xcodebuild build -project YourProject.xcodeproj -scheme YourScheme \
COMPILATION_CACHE_ENABLE_CACHING=YES \
COMPILATION_CACHE_REMOTE_SERVICE_PATH=$HOME/.local/state/tuist/your_org_your_project.sock \
COMPILATION_CACHE_ENABLE_PLUGIN=YES \
COMPILATION_CACHE_ENABLE_DIAGNOSTIC_REMARKS=YESGENERATED PROJECTS
Ręczne konfigurowanie ustawień nie jest konieczne, jeśli projekt został wygenerowany przez Tuist.
W takim przypadku wystarczy dodać enableCaching: true do pliku Tuist.swift:
swift
import ProjectDescription
let tuist = Tuist(
fullHandle: "your-org/your-project",
project: .tuist(
generationOptions: .options(
enableCaching: true
)
)
)Ciągła integracja #
Aby włączyć buforowanie w środowisku CI, należy uruchomić to samo polecenie, co w środowisku lokalnym: tuist setup cache.
Dodatkowo należy upewnić się, że ustawiona jest zmienna środowiskowa TUIST_TOKEN. Można ją utworzyć, postępując zgodnie z dokumentacją
TUIST_TOKEN _ musi_ być obecna wkroku kompilacji, ale zalecamy ustawienie jej dla całego przepływu pracy CI.
Przykładowy przepływ pracy dla GitHub Actions mógłby wyglądać następująco:
yaml
name: Build
env:
TUIST_TOKEN: ${{ secrets.TUIST_TOKEN }}
jobs:
build:
steps:
- # Your set up steps...
- name: Set up Tuist Cache
run: tuist setup cache
- # Your build steps