0Pricing
DevOps Bootcamp · Lección

Almacenamiento en caché de dependencias para compilaciones más rápidas

Acelere los pipelines de CI almacenando en caché las dependencias y los artefactos de compilación mediante la acción actions/cache, las keys y las restore-keys.

Almacenamiento en caché de dependencias para compilaciones más rápidas es una lección gratuita de DevOps Bootcamp en CoddyKit. Esta es la lección 4 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de DevOps Bootcamp, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de DevOps Bootcamp incluye 4 lecciones en total.

El coste de reinstalar

Gran parte del tiempo de la CI se dedica a descargar e instalar las mismas dependencias en cada ejecución. La caché las almacena entre ejecuciones para que las compilaciones posteriores reutilicen el trabajo ya realizado, lo que a menudo reduce drásticamente el tiempo de la canalización.

La acción de caché

GitHub proporciona actions/cache. Indíquele una ruta que almacenar en caché y una clave que identifique la entrada de caché. Si hay coincidencia, restaura la ruta; de lo contrario, la guarda después del trabajo.

- uses: actions/cache@v4
  with:
    path: ~/.npm
    key: npm-${{ hashFiles('package-lock.json') }}

Diseñar una clave adecuada

La clave solo debe cambiar cuando deba cambiar el contenido almacenado en caché. Lo ideal es aplicar un hash al archivo de bloqueo: un archivo nuevo implica dependencias nuevas, por lo que se crea una entrada de caché nueva.

key: ${{ runner.os }}-npm-${{ hashFiles('**/package-lock.json') }}

Claves de restauración

restore-keys proporciona prefijos alternativos. Si no se encuentra la clave exacta, la acción restaura la caché más reciente cuya clave empieza por un prefijo, lo que proporciona un arranque parcialmente precalentado.

restore-keys: |
  ${{ runner.os }}-npm-

Acierto y fallo de caché

Cuando coincide exactamente la clave, se produce un acierto de caché y se restaura la ruta. Si no hay coincidencia, el trabajo se ejecuta con normalidad y la caché se guarda al final usando la clave principal, lista para la próxima vez.

Caché integrada en las acciones de configuración

Las acciones de configuración del lenguaje incluyen caché integrada. Para Node, setup-node con cache: npm gestiona la caché de dependencias, sin necesidad de un paso de caché independiente.

- uses: actions/setup-node@v4
  with:
    node-version: 20
    cache: npm

Qué almacenar en caché

Almacene en caché los directorios de descargas del gestor de paquetes, no el node_modules instalado cuando sea posible, porque las cachés de descargas son portátiles y el paso de instalación sigue verificando la integridad.

  • Node: ~/.npm
  • Python: caché de pip
  • Java: ~/.m2 o cachés de Gradle

Alcance y límites de la caché

Las cachés se limitan a una rama (con una alternativa en la rama predeterminada) y tienen un límite de tamaño por repositorio. Las cachés no utilizadas se eliminan con el tiempo, por lo que debe diseñar claves que cambien de forma controlada.

Evitar cachés obsoletas

Si su clave nunca cambia, puede servir dependencias obsoletas. Vincule siempre la clave al hash del archivo de bloqueo para que las actualizaciones invaliden la caché automáticamente.

Matriz y sistema operativo en las claves

En compilaciones matriciales entre distintos sistemas operativos o versiones, incluya runner.os y la versión en la clave para que cada variante tenga su propia caché correcta y no haya conflictos.

key: ${{ runner.os }}-node20-${{ hashFiles('package-lock.json') }}

Medir la mejora

Compare la duración de los trabajos antes y después de habilitar la caché, y observe el indicador de aciertos de caché en los registros. Una tasa de aciertos constantemente baja indica que la clave cambia con demasiada frecuencia.

Comprobación rápida

Compruebe su comprensión del almacenamiento en caché de dependencias.

Resumen

Ha acelerado la CI con el almacenamiento en caché de dependencias: la acción actions/cache con una clave basada en el hash del archivo de bloqueo y el fallback de restore-keys, la caché integrada en las acciones de configuración, la selección de qué almacenar en caché, la inclusión del sistema operativo y la versión en las claves de las matrices, y la prevención de cachés obsoletas vinculando la clave al archivo de bloqueo.

Preguntas frecuentes

¿La lección «Almacenamiento en caché de dependencias para compilaciones más rápidas» es gratis?

Sí — el texto completo de «Almacenamiento en caché de dependencias para compilaciones más rápidas» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de DevOps Bootcamp, actualiza a CoddyKit PRO. El curso de DevOps Bootcamp incluye 4 lecciones en total.

¿Qué aprenderé en «Almacenamiento en caché de dependencias para compilaciones más rápidas»?

Acelere los pipelines de CI almacenando en caché las dependencias y los artefactos de compilación mediante la acción actions/cache, las keys y las restore-keys. Practicas DevOps Bootcamp con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar DevOps Bootcamp?

No se requiere experiencia previa. DevOps Bootcamp en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 4 de 4.

¿Cuánto tiempo toma la lección «Almacenamiento en caché de dependencias para compilaciones más rápidas»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de DevOps Bootcamp?

Sí. Cada lección de DevOps Bootcamp incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Activadores y eventos de workflows
  2. Ejecución de pruebas con GitHub Actions
  3. Linting y comprobaciones de calidad del código
  4. Almacenamiento en caché de dependencias para compilaciones más rápidas
← Volver a DevOps Bootcamp