Publié le

Réchauffer le cache Drupal lors des déploiements

Drupal
GitHub Actions
GitHub Actions

Lors du déploiement d'un projet Drupal avec une pipeline de déploiement continu, il est souvent nécessaire de reconstruire le cache Drupal afin qu'il prenne en compte les dernières modifications de fichiers.

Problème : même si la reconstruction du cache permet de s'assurer d'avoir les dernières modifications côté serveur, il peut entraîner une lenteur supplémentaire au premier chargement des pages le temps que Drupal reconstruise le cache HTML des différentes pages, vues, etc.

Le projet Drupal Warmer

Le module Warmer permet de résoudre ce problème. Selon une planification via la tâche CRON ou manuellement, il permet de réchauffer le cache Drupal d'une liste d'URLs définies manuellement ou automatiquement via la récupération des URLs d'un sitemap.

Une fois ces urls définies, le module charge chaque page associée permettant ainsi une nouvelle mise en cache de celles-ci et un temps de chargement rapide pour leurs prochaines visites.

Intégration du module Drupal Warmer à une pipeline GitHub Actions

Dans un précédent article, j'ai expliqué comment je déployais mes projets Drupal avec GitHub Actions.

Voici une étape supplémentaire à ajouter pour réchauffer le cache Drupal via Drush et l'utilisation du module Warmer :

      - name: Warm cache
        run: ssh -o StrictHostKeyChecking=no ${{ secrets.SSH_HOST }} "cd /var/www/html && vendor/bin/drush warmer:enqueue entity,sitemap && vendor/bin/drush queue-run warmer"