0Pricing
DevOps Bootcamp · Leçon

Mettre en cache les dépendances pour accélérer les compilations

Accélérez les pipelines d’intégration continue en mettant en cache les dépendances et les artefacts de compilation avec l’action actions/cache, les clés et les clés de restauration.

Mettre en cache les dépendances pour accélérer les compilations est une leçon DevOps Bootcamp gratuite sur CoddyKit. Ceci est la leçon 4 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage DevOps Bootcamp, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours DevOps Bootcamp comprend 4 leçons au total.

Le coût des réinstallations

La plupart du temps de CI est consacrée au téléchargement et à l’installation des mêmes dépendances à chaque exécution. La mise en cache les stocke entre les exécutions afin que les compilations suivantes réutilisent le travail déjà effectué, ce qui réduit souvent considérablement la durée de la chaîne CI/CD.

L’action de mise en cache

GitHub fournit actions/cache. Vous lui indiquez un chemin à mettre en cache et une clé qui identifie l’entrée du cache. En cas de correspondance, le chemin est restauré ; sinon, il est enregistré à la fin de la tâche.

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

Concevoir une bonne clé

La clé ne doit changer que lorsque le contenu mis en cache doit changer. Hacher le fichier de verrouillage est idéal : un nouveau fichier de verrouillage signifie de nouvelles dépendances, donc une nouvelle entrée de cache est créée.

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

Clés de restauration

restore-keys fournit des préfixes de repli. Si la clé exacte ne correspond pas, l’action restaure le cache le plus récent dont la clé commence par un préfixe, ce qui permet un démarrage partiellement préparé.

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

Correspondance ou absence dans le cache

Lorsqu’une clé correspond exactement, vous obtenez une correspondance dans le cache et le chemin est restauré. En l’absence de correspondance, la tâche s’exécute normalement et le cache est enregistré à la fin avec la clé principale, afin d’être prêt pour la prochaine fois.

Mise en cache intégrée à la configuration

Les actions de configuration des langages intègrent la mise en cache. Pour Node, setup-node avec cache: npm gère le cache des dépendances pour vous ; aucune étape de mise en cache distincte n’est nécessaire.

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

Que mettre en cache

Mettez en cache les répertoires de téléchargement du gestionnaire de paquets, et non le répertoire installé node_modules lorsque c’est possible, car les caches de téléchargement sont portables et l’étape d’installation vérifie toujours l’intégrité.

  • Node : ~/.npm
  • Python : cache de pip
  • Java : ~/.m2 ou caches de Gradle

Portée et limites du cache

Les caches sont associés à une branche, avec un repli sur la branche par défaut, et leur taille est limitée pour chaque dépôt. Les caches inutilisés sont supprimés au fil du temps ; concevez donc des clés qui évoluent proprement.

Éviter les caches obsolètes

Si votre clé ne change jamais, vous risquez de servir des dépendances obsolètes. Associez toujours la clé au hachage du fichier de verrouillage afin que les mises à jour invalident automatiquement le cache.

Matrice et système d’exploitation dans les clés

Dans les compilations matricielles couvrant plusieurs systèmes d’exploitation ou versions, incluez runner.os et la version dans la clé afin que chaque variante dispose de son propre cache correct, sans conflit.

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

Mesurer le gain

Comparez la durée des tâches avant et après la mise en cache, et surveillez l’indicateur de correspondance dans les journaux. Un taux de correspondance constamment faible indique que la clé change trop souvent.

Vérification rapide

Vérifiez votre compréhension de la mise en cache des dépendances.

Récapitulatif

Vous avez accéléré la CI grâce à la mise en cache des dépendances : l’action actions/cache avec une clé fondée sur le hachage du fichier de verrouillage et un repli restore-keys, la mise en cache intégrée aux actions de configuration, le choix des éléments à mettre en cache, l’inclusion du système d’exploitation et de la version dans les clés matricielles, et l’évitement des caches obsolètes en associant la clé au fichier de verrouillage.

Questions Fréquemment Posées

La leçon « Mettre en cache les dépendances pour accélérer les compilations » est-elle gratuite ?

Oui — le texte complet de « Mettre en cache les dépendances pour accélérer les compilations » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours DevOps Bootcamp, passe à CoddyKit PRO. Le cours DevOps Bootcamp comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Mettre en cache les dépendances pour accélérer les compilations » ?

Accélérez les pipelines d’intégration continue en mettant en cache les dépendances et les artefacts de compilation avec l’action actions/cache, les clés et les clés de restauration. Tu pratiques DevOps Bootcamp avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer DevOps Bootcamp ?

Aucune expérience préalable n'est requise. DevOps Bootcamp sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 4 sur 4.

Combien de temps prend la leçon « Mettre en cache les dépendances pour accélérer les compilations » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon DevOps Bootcamp ?

Oui. Chaque leçon DevOps Bootcamp inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Déclencheurs et événements des flux de travail
  2. Exécution de tests avec GitHub Actions
  3. Analyse statique et vérifications de la qualité du code
  4. Mettre en cache les dépendances pour accélérer les compilations
← Retour à DevOps Bootcamp