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

Кэш

Артефакты сборки не разделяются между окружениями, из-за чего приходится многократно пересобирать один и тот же код. Функция кэширования Tuist позволяет удалённо обмениваться артефактами, чтобы ваша команда и CI получали более быстрые сборки без повторной компиляции уже собранного.

Изучите рабочий процесс кэширования, который подходит для вашего проекта или модели развёртывания:

Кэш модулей

Кэшируйте отдельные модули в виде бинарных файлов для проектов, использующих генерацию проектов Tuist. Требуется генерация проекта через Tuist.

Кэш Xcode

Делитесь артефактами компиляции Xcode между окружениями. Работает с любым проектом Xcode, генерация проекта не требуется.

Кэш Gradle

Удалённо делитесь артефактами кэша сборок Gradle. Включает аналитику сборок для оценки производительности.

Кэш Bazel

Направьте Bazel на кэш Remote Execution API от Tuist, чтобы делиться результатами действий между вашей командой и CI.

Кэш Elixir

Включите кэширование для поддерживаемых зависимостей Elixir и продолжайте использовать Mix. Просматривайте попадания в кэш и передачи данных в панели управления.

Кэш Rust (экспериментальный)

Повторно используйте выходные данные поддерживаемых библиотек реестра локально и через Kura. Узнайте, как включить кэширование и отслеживать активность кэша.

Supported for:
Самостоятельное размещение

Запускайте узлы кэша рядом с CI, офисами или региональными вычислительными ресурсами и подключайте их к размещённому или самостоятельно размещённому Tuist.

Максимальная скорость на Tuist Runners

На Tuist Runners кэш расположен в частной сети раннера и использует тот же кэш, что и машины разработчиков, поэтому задачи CI сразу получают тёплые попадания без необходимости отдельного прогрева кэша для CI.

Ограничить загрузку только для CI#

Администраторы аккаунта могут предоставить разработчикам доступ только для чтения, разрешив CI загружать артефакты кэша. Откройте настройки Кэша аккаунта в Tuist и установите параметр Доступ к загрузке в кэш в значение Только CI и токены аккаунта. После этого участники, авторизованные через сеансы входа, по-прежнему смогут скачивать данные из кэша, но для загрузки потребуется аутентификация CI через OIDC или токен аккаунта с правами на запись в кэш, например project:cache:write или ci.

Используйте эту настройку, когда CI является доверенным источником кэша, а локальные машины должны только потреблять кэш. Параметр влияет только на авторизацию загрузки в кэш.