Кэш Gradle
Tuist предоставляет плагин для Gradle, который интегрируется с встроенным кэшем сборок Gradle для удалённого обмена артефактами сборки. Если выходные данные задачи уже находятся в кэше, Gradle пропускает её выполнение и загружает результат из удалённого кэша Tuist, экономя время сборки для всей вашей команды и в средах CI/CD.
После установки плагина Tuist для Gradle необходимо также включить кэш сборок Gradle в файле gradle.properties:
org.gradle.caching=true
Без этого Gradle не активирует подсистему кэширования сборок — даже если удалённый кэш настроен — и все задачи будут выполняться без использования или заполнения кэша. После включения Gradle будет использовать Tuist в качестве удалённого кэша сборок, скачивая закэшированные выходные данные задач при попадании в кэш и загружая их после выполнения задачи.
Политика загрузки в кэш#
По умолчанию плагин одновременно скачивает и загружает артефакты в удалённый кэш. Вы можете управлять загрузкой с помощью опции push в блоке buildCache:
tuist {
buildCache {
push = false // read-only mode
}
}
Распространённый подход — отправлять артефакты только из среды CI, где сборки воспроизводимы, оставляя локальные окружения в режиме только для чтения:
tuist {
buildCache {
push = System.getenv("CI") != null
}
}
При такой настройке локальные сборки получают выгоду от закэшированных артефактов без их загрузки, а сборки в CI пополняют кэш для остальной части команды.
Непрерывная интеграция#
Для сред CI выполните аутентификацию одним из способов, описанных в руководстве по аутентификации. См. руководство по непрерывной интеграции для примеров настройки CI под конкретных провайдеров.
Отключение локального кэша сборок#
Gradle поддерживает как локальный, так и удалённый кэш сборок. Локальный кэш сборок хранит выходные данные задач на диске в директории ~/.gradle/caches/build-cache-1.
Когда Tuist настроен как удалённый кэш сборок, рекомендуется отключать локальный кэш сборок в среде CI. Это позволяет избежать хранения избыточных артефактов на раннерах CI и гарантирует, что сборки всегда пополняют удалённый кэш свежими записями для остальной части команды.
Отключите локальный кэш сборок Gradle в среде CI в вашем файле settings.gradle.kts:
buildCache {
local {
isEnabled = System.getenv("CI") == null
}
}
Это сохраняет локальный кэш сборок доступным для локальной разработки, отключая его в среде CI, где обмен артефактами обеспечивает удалённый кэш Tuist.
Справочник по конфигурации#
Блок buildCache поддерживает следующие параметры:
| Параметр | Тип | По умолчанию | Описание |
|---|---|---|---|
enabled | Boolean | true | Включён ли удалённый кэш сборок. |
push | Boolean | true | Загружать ли выходные данные задач в удалённый кэш. |
allowInsecureProtocol | Boolean | false | Разрешать ли небезопасные HTTP-соединения. |