Choix de la méthode de mise à jour
Présentation
Lors de la préparation à la mise à jour vers Drupal 8, il vaut la peine de prendre un moment pour planifier l'approche de mise à jour. Bien que le contenu de votre ancien site Drupal puisse probablement être transféré sans problème, la configuration de votre site Drupal 8 nécessitera probablement certaines tâches manuelles. Par exemple, le module Views ne dispose pas encore d'une mise à jour automatique dans le cœur, ce qui signifie que vous devrez recréer manuellement les vues sur votre site Drupal 8. L'approche la plus appropriée doit être envisagée pour chaque site.
Approche simple avec étapes manuelles après mise à jour
Avec cette approche, la mise à jour est effectuée une seule fois, puis les étapes manuelles (comme la création de vues) sont réalisées sur le site Drupal 8 avant sa mise en production.
Il est recommandé de s'exercer d'abord à la mise à jour et de suivre attentivement les étapes manuelles après mise à jour. Une fois satisfait de votre environnement de test, répétez les mêmes étapes et préparez votre environnement de production Drupal 8 pour une installation propre.
Cette approche peut être utilisée pour :
Mise à jour incrémentale après étapes manuelles
Selon le nombre et la complexité des étapes manuelles après mise à jour, il se peut que vous ne puissiez pas garder l’ancien site hors ligne pendant que vous réalisez ces étapes sur le site Drupal 8. Si l'ancien site est accessible en ligne pendant que vous effectuez les étapes manuelles sur le nouveau site, il est possible que des utilisateurs créent ou modifient du contenu sur l'ancien site.
Drupal 8 supporte les mises à jour additionnelles. Cela signifie que les migrations peuvent être relancées pour transférer le contenu nouveau et mis à jour. Il est déconseillé de modifier la configuration de l'ancien site source entre la mise à jour initiale et la migration additionnelle.
Cette approche peut être utilisée pour :
Migration du contenu uniquement vers les environnements STAGING et PROD
Une des nouvelles fonctionnalités majeures de Drupal 8 est le système amélioré de gestion de configuration qui permet de déployer toute la configuration Drupal d'un environnement à un autre. Le scénario typique comporte un environnement de développement (DEV), un environnement de test (STAGING) et un environnement de production (PROD) accessible aux utilisateurs finaux. Dans Drupal 8, toute configuration peut être exportée au format YAML puis importée dans un autre environnement.
Si vous prévoyez d’utiliser des environnements DEV, STAGING et PROD séparés, une des approches possibles est illustrée dans le schéma ci-dessous. Il est important de comprendre que les entités Drupal peuvent être classées ainsi :
- Objets de contenu (utilisateurs, nœuds, termes de taxonomie, ...)
- Objets de configuration (types de contenu, champs, vues, tous les paramètres de configuration)
Le processus de mise à jour sur le schéma ci-dessus :
1. L’environnement Drupal 8 DEV est mis à jour depuis le site source.
2. Le site source reste en ligne (le contenu peut être créé ou modifié). Pendant ce temps, la configuration est finalisée dans l’environnement Drupal 8 DEV.
3. La configuration peut être déployée de DEV vers STAGING via le système de gestion de configuration Drupal 8, généralement avec un système de contrôle de version (ex. Git).
4. Une fois la configuration de STAGING finalisée, le contenu peut être migré depuis le site source vers STAGING pour les tests d’acceptation finale. Quand ces tests sont satisfaisants, le site Drupal 8 PROD est déployé et le contenu migré depuis le site source vers PROD.
Cette approche nécessite une mise à jour via Drush. Plusieurs variantes existent pour cette approche.
- Consultez la page sur la mise à jour avec Drush pour apprendre à générer les migrations.
- La mise à jour vers Drupal 8 DEV (étape 1 sur l’image ci-dessus) peut être effectuée en lançant toutes les migrations via drush migrate-import --all ou en exécutant les migrations nécessaires une par une via drush migrate-import <nom_migration>
- La mise à jour du contenu uniquement (étape 4 sur l’image ci-dessus) peut être effectuée en exécutant toutes les migrations de contenu via drush migrate:import --tag=Content ou en exécutant les migrations souhaitées individuellement via drush migrate-import <nom_migration>. Il est aussi possible de lister les migrations souhaitées dans un fichier manifeste.