Mise à jour du noyau Drupal via Drush
Cette documentation est obsolète. Aidez à la mettre à jour.
Avant de commencer
Il est recommandé d’utiliser Composer pour gérer les dépendances de Drupal ; consultez la page Utiliser Composer avec Drupal pour plus d’informations. Drush 9 ne supporte plus la mise à jour de Drupal et laisse ce travail à Composer. Par conséquent, il est conseillé d’utiliser Composer pour mettre à jour Drupal. Cependant, si vous utilisez Drush depuis longtemps, vous pouvez toujours utiliser Drush 8 (version 8.14 ou supérieure) pour mettre à jour Drupal 8.
P.S. : Une vue d’ensemble des différentes options de mise à jour est présentée dans l’introduction de ces instructions.
Faites toujours une sauvegarde avant d’effectuer une mise à jour, en particulier si vous rencontrez une erreur fatale pendant le processus.
Mise à jour du noyau Drupal 8
Procédure de mise à jour du noyau Drupal 8 en utilisant Drush 8.x. Drush est une interface en ligne de commande pour Drupal.
1. Faites une sauvegarde de vos fichiers et de votre base de données. Avec Drush, saisissez et exécutez cette commande :
drush archive-dump
Notes :
- Il est important de créer des sauvegardes avant la mise à jour. Ainsi, en cas de problème pendant ou après la mise à jour, vous pourrez rapidement et facilement revenir en arrière.
- La commande « drush archive-dump » ci-dessus crée une archive .tar.gz des fichiers et de la base de données. Cette commande Drush est obsolète et prévue pour être supprimée. Elle ne couvre que les fichiers situés dans le répertoire /web.
2. Vérifiez les mises à jour disponibles :
drush pm-updatestatus
- Note : c’est un alias pour la commande ups
- Note : cette commande n’est pas recommandée pour les installations basées sur Composer, veuillez utiliser composer-show
3. Activez le mode maintenance :
drush state-set system.maintenance_mode 1
Note : alias de la commande sset
4. Videz le cache :
drush cache-rebuild
Notes :
- Alias pour la commande cr
- Cette commande vide les tables cache_* dans la base Drupal, puis reconstruit le conteneur du site
5. Choisissez une ou plusieurs options ci-dessous pour effectuer les mises à jour. Le choix dépend du type de mise à jour nécessaire. La commande pm-update (alias : up) met à jour le code et applique également toute mise à jour de la base de données en attente, équivalent à pm-updatecode + updatedb.
Option : mettre à jour le noyau Drupal 8
drush pm-update drupal
Option : mettre à jour le noyau Drupal 8 vers la branche de développement, uniquement pour tests et création de patchs (pas pour la production)
drush pm-update drupal-8.5.x-dev
Option : mettre à jour un seul module
drush pm-update nom_du_module
Option : mettre à jour uniquement les correctifs de sécurité
drush pm-update --security-only
6. Si nécessaire, réappliquez manuellement toute modification aux fichiers comme .htaccess, composer.json ou robots.txt. Drush ne le fait pas automatiquement.
7. Réappliquez tous les correctifs personnalisés que vous avez utilisés avant la mise à jour (s’ils n’ont pas encore été fusionnés).
1. Ils sont faciles à trouver grâce à de bons messages de commit.
% git log --oneline --reverse core
ee2bf8dd Issue #18: Updated Drupal core from 8.3.4 to 8.3.5.
267e3ad0 Issue #27: Applied patch from https://www.drupal.org/project/drupal/issues/2174633#comment-12291691.
718ecba5 Issue #9: Applied patch from https://www.drupal.org/project/drupal/issues/2906229#comment-12496488.
2. Pour chaque correctif appliqué depuis la dernière mise à jour du noyau, utilisez la commande git cherry-pick (ou résolvez les conflits s’ils surviennent) dans l’ordre chronologique.
% git cherry-pick 267e3ad0
% git cherry-pick 718ecba5
8. Si vous utilisez Composer pour gérer les bibliothèques PHP (par exemple parce que certains modules additionnels l’exigent), mettez à jour le dossier /vendor avec la commande suivante :
composer update drupal/core --with-dependencies
9. Mettez à jour la base de données si des mises à jour sont nécessaires :
drush updatedb
Note : alias pour la commande updb
10. Vérifiez que votre site fonctionne correctement. Pour cela :
- Utilisez Drupal pour consulter la page de rapport d’état
- Testez votre site via un navigateur en visitant les pages importantes
11. Désactivez le mode maintenance :
drush state-set system.maintenance_mode 0
12. Videz de nouveau le cache :
drush cache-rebuild
13. Terminé. Vous avez mis à jour avec succès votre Drupal 8 en utilisant Drush :)