Ir al contenido

Caché de Gradle

Tuist ofrece un plugin de Gradle que se integra con la caché de compilación integrada de Gradle para compartir artefactos de compilación de forma remota. Cuando los resultados de una tarea ya están en caché, Gradle omite la ejecución y obtiene el resultado desde la caché remota de Tuist, ahorrando tiempo de compilación en tu equipo y en los entornos de CI.

Una vez instalado el plugin de Tuist para Gradle, también debes habilitar la caché de compilación de Gradle en tu archivo gradle.properties:

plaintext
org.gradle.caching=true

Sin esto, Gradle no activa su subsistema de caché de compilación, incluso si hay una caché remota configurada, y todas las tareas se ejecutarán sin aprovechar ni rellenar la caché. Una vez habilitada, Gradle usará Tuist como caché de compilación remota, descargando los resultados almacenados cuando haya aciertos en la caché y subiéndolos tras la ejecución de la tarea.

Política de subida a la caché#

De forma predeterminada, el plugin tanto descarga como sube artefactos a la caché remota. Puedes controlar las subidas con la opción push dentro del bloque buildCache:

kotlin
tuist {
buildCache {
push = false // read-only mode
}
}

Un patrón habitual es subir artefactos solo desde CI, donde las compilaciones son reproducibles, mientras se mantienen los entornos locales en modo de solo lectura:

kotlin
tuist {
buildCache {
push = System.getenv("CI") != null
}
}

Con esta configuración, las compilaciones locales se benefician de los artefactos en caché sin subirlos, mientras que las compilaciones de CI rellenan la caché para el resto del equipo.

Integración continua#

Para entornos de CI, autentícate usando uno de los métodos de la guía de autenticación. Consulta la guía de integración continua para ver ejemplos específicos de cada proveedor de CI.

Deshabilitar la caché de compilación local#

Gradle mantiene tanto una caché de compilación local como una remota. La caché local almacena los resultados de las tareas en disco bajo ~/.gradle/caches/build-cache-1.

Cuando Tuist está configurado como caché de compilación remota, se recomienda deshabilitar la caché local en CI. Esto evita almacenar artefactos redundantes en los runners de CI y garantiza que las compilaciones siempre rellenen la caché remota con entradas actualizadas para el resto del equipo.

Deshabilita la caché de compilación local de Gradle en CI en tu archivo settings.gradle.kts:

kotlin
buildCache {
local {
isEnabled = System.getenv("CI") == null
}
}

Esto mantiene la caché de compilación local disponible para el desarrollo local mientras la deshabilita en CI, donde la caché remota de Tuist gestiona el intercambio de artefactos.

Referencia de configuración#

El bloque buildCache admite:

OpciónTipoPredeterminadoDescripción
enabledBooleantrueIndica si la caché de compilación remota está habilitada.
pushBooleantrueIndica si se deben subir los resultados de las tareas a la caché remota.
allowInsecureProtocolBooleanfalseIndica si se permiten conexiones HTTP inseguras.