Effectuer une mise à niveau

Vous pouvez mettre à niveau les déploiements sur site de l’application Adobe Commerce à partir de la ligne de commande si vous avez installé le logiciel en :

  • Téléchargement du métaphorage du compositeur à l’aide de la commande composer create-project.
  • Installation de l’archive compressée.
NOTE

Les instructions suivantes vous montrent comment mettre à niveau à l’aide du gestionnaire de modules du compositeur. Adobe Commerce 2.4.2 a introduit la prise en charge du compositeur 2. Si vous tentez de mettre à niveau à partir de <2.4.1, vous devez d’abord effectuer une mise à niveau vers une version compatible avec le compositeur 2 (par exemple, 2.4.2) à l’aide du compositeur 1 avant de procéder à la mise à niveau vers le compositeur 2 pour les mises à niveau ultérieures à la version 2.4.2. En outre, vous devez exécuter une version prise en charge de PHP.

WARNING
La procédure de mise à niveau d’Adobe Commerce a été modifiée. Vous devez installer une nouvelle version du package magento/composer-root-update-plugin (voir conditions préalables). En outre, les commandes de mise à niveau ont été remplacées de composer require magento/<package_name> par composer require-commerce magento/<package_name>.

Avant de commencer

Vous devez remplir les conditions préalables à la mise à niveau pour préparer votre environnement avant de lancer le processus de mise à niveau.

Gestion des modules

NOTE
Consultez les exemples à la fin de cette section pour obtenir de l’aide sur la spécification de différents niveaux de version. Par exemple, les correctifs de qualité et de sécurité. Si vous ne trouvez pas ces modules dans le compositeur, contactez l’assistance Adobe Commerce.
  1. Passez en mode de maintenance pour empêcher l’accès à votre boutique lors de la mise à niveau.

    code language-bash
    bin/magento maintenance:enable
    

    Voir Activation ou désactivation du mode de maintenance pour obtenir des options supplémentaires. Vous pouvez éventuellement créer une page de mode de maintenance personnalisée.

  2. Le démarrage du processus de mise à niveau pendant l’exécution de processus asynchrones, tels que les consommateurs de file d’attente de messages, peut entraîner une corruption des données. Pour empêcher la corruption des données, désactivez toutes les tâches cron.

    Adobe Commerce sur l’infrastructure cloud :

    code language-bash
    ./vendor/bin/ece-tools cron:disable
    

    Magento Open Source :

    code language-bash
    bin/magento cron:remove
    
  3. Démarrez manuellement tous les consommateurs de la file d’attente de messages pour vous assurer que tous les messages sont consommés.

    code language-bash
    bin/magento cron:run --group=consumers
    

    Attendez que la tâche cron soit terminée. Vous pouvez surveiller l’état de la tâche avec une visionneuse de processus ou exécuter la commande ps aux | grep 'bin/magento queue' plusieurs fois jusqu’à ce que tous les processus soient terminés.

  4. Créez une sauvegarde du fichier composer.json.

    code language-bash
    cp composer.json composer.json.bak
    
  5. Ajoutez ou supprimez des packages spécifiques en fonction de vos besoins.

    Par exemple, si vous effectuez une mise à niveau de Magento Open Source vers Adobe Commerce, supprimez le package de Magento Open Source.

    code language-bash
    composer remove magento/product-community-edition --no-update
    

    Vous pouvez également mettre à niveau des données d’exemple.

    code language-bash
    composer require <sample data module-1>:<version> ... <sample data module-n>:<version> --no-update
    
    • Adobe Commerce:

      code language-bash
      composer require magento/module-bundle-sample-data:100.4.* magento/module-widget-sample-data:100.4.* magento/module-theme-sample-data:100.4.* magento/module-catalog-sample-data:100.4.* magento/module-customer-sample-data:100.4.* magento/module-cms-sample-data:100.4.*  magento/module-catalog-rule-sample-data:100.4.* magento/module-sales-rule-sample-data:100.4.* magento/module-review-sample-data:100.4.* magento/module-tax-sample-data:100.4.* magento/module-sales-sample-data:100.4.* magento/module-grouped-product-sample-data:100.4.* magento/module-downloadable-sample-data:100.4.* magento/module-msrp-sample-data:100.4.* magento/module-configurable-sample-data:100.4.* magento/module-product-links-sample-data:100.4.* magento/module-wishlist-sample-data:100.4.* magento/module-swatches-sample-data:100.4.* magento/sample-data-media:100.4.* magento/module-offline-shipping-sample-data:100.4.* magento/module-gift-card-sample-data:100.4.* magento/module-customer-balance-sample-data:100.4.* magento/module-target-rule-sample-data:100.4.* magento/module-gift-registry-sample-data:100.4.* magento/module-multiple-wishlist-sample-data:100.4.* --no-update
      
    • Magento Open Source :

      code language-bash
      composer require magento/module-bundle-sample-data:100.4.* magento/module-widget-sample-data:100.4.* magento/module-theme-sample-data:100.4.* magento/module-catalog-sample-data:100.4.* magento/module-customer-sample-data:100.4.* magento/module-cms-sample-data:100.4.*  magento/module-catalog-rule-sample-data:100.4.* magento/module-sales-rule-sample-data:100.4.* magento/module-review-sample-data:100.4.* magento/module-tax-sample-data:100.4.* magento/module-sales-sample-data:100.4.* magento/module-grouped-product-sample-data:100.4.* magento/module-downloadable-sample-data:100.4.* magento/module-msrp-sample-data:100.4.* magento/module-configurable-sample-data:100.4.* magento/module-product-links-sample-data:100.4.* magento/module-wishlist-sample-data:100.4.* magento/module-swatches-sample-data:100.4.* magento/sample-data-media:100.4.* magento/module-offline-shipping-sample-data:100.4.* --no-update
      
  6. Mettez à niveau votre instance à l’aide de la syntaxe de commande composer require-commerce suivante :

    code language-bash
    composer require-commerce magento/<product> <version> --no-update [--interactive-root-conflicts] [--force-root-updates] [--help]
    

    Les options de commande incluent :

    • <product> —(Obligatoire) Package à mettre à niveau. Pour les installations sur site, cette valeur doit être product-community-edition ou product-enterprise-edition.

    • <version> —(Obligatoire) Version d’Adobe Commerce vers laquelle vous effectuez une mise à niveau. Par exemple, 2.4.3.

    • --no-update —(Obligatoire) Désactive la mise à jour automatique des dépendances.

    • --interactive-root-conflicts —(Facultatif) Permet d’afficher et de mettre à jour de manière interactive les valeurs obsolètes des versions précédentes ou les valeurs personnalisées qui ne correspondent pas à la version vers laquelle vous effectuez la mise à niveau.

    • --force-root-updates —(Facultatif) Permet de remplacer toutes les valeurs personnalisées en conflit par les valeurs Commerce attendues.

    • --help —(Facultatif) Fournit des détails d’utilisation du module externe.

    Si ni --interactive-root-conflicts ni --force-root-updates ne sont spécifiés, la commande conserve les valeurs existantes en conflit et affiche un message d’avertissement. Pour en savoir plus sur le module externe, reportez-vous à la section Plugin Usage README.

  7. Mettez à jour les dépendances.

    code language-bash
    composer update
    

Exemple - répertorier les versions disponibles

Pour afficher la liste complète des versions 2.4.x disponibles :

Magento Open Source :

composer show magento/product-community-edition 2.4.* --available | grep -m 1 versions

Adobe Commerce :

composer show magento/product-enterprise-edition 2.4.* --available | grep -m 1 versions

Exemple - Correctif de qualité

Les correctifs de qualité contiennent principalement des correctifs de sécurité fonctionnels et. Cependant, elles peuvent parfois contenir de nouvelles fonctionnalités rétrocompatibles. Utilisez le compositeur pour télécharger un correctif de qualité.

Adobe Commerce :

composer require-commerce magento/product-enterprise-edition 2.4.6 --no-update

Magento Open Source :

composer require-commerce magento/product-community-edition 2.4.6 --no-update

Exemple - Correctif de sécurité

Les correctifs de sécurité contiennent uniquement des correctifs de sécurité. Ils sont conçus pour faciliter et accélérer le processus de mise à niveau. Les correctifs de sécurité utilisent la convention d’affectation des noms du compositeur 2.4.x-px.

Adobe Commerce :

composer require-commerce magento/product-enterprise-edition 2.4.6-p3 --no-update

Magento Open Source :

composer require-commerce magento/product-community-edition 2.4.6-p3 --no-update

Mise à jour des métadonnées

  1. Mettez à jour les champs "name", "version" et "description" dans le fichier composer.json si nécessaire.

    note note
    NOTE
    La mise à jour des métadonnées dans le fichier composer.json est entièrement superficielle et non fonctionnelle.
  2. Appliquez les mises à jour.

    code language-bash
    composer update
    
  3. Effacez les sous-répertoires var/ et generated/ :

    code language-bash
    rm -rf var/cache/*
    
    code language-bash
    rm -rf var/page_cache/*
    
    code language-bash
    rm -rf generated/code/*
    
    note note
    NOTE
    Si vous utilisez un stockage de cache autre que le système de fichiers, tel que Redis ou Memcached, vous devez également effacer manuellement le cache là-bas.
  4. Mettez à jour le schéma et les données de la base de données.

    code language-bash
    bin/magento setup:upgrade
    
  5. Désactivez le mode de maintenance.

    code language-bash
    bin/magento maintenance:disable
    
  6. (Facultatif) Redémarrez le vernis.

    Si vous utilisez le vernis pour la mise en cache de la page, redémarrez-le :

    code language-bash
    service varnish restart
    

Vérifier votre travail

Pour vérifier si la mise à niveau a réussi, ouvrez l’URL de storefront dans un navigateur web. Si votre mise à niveau a échoué, votre storefront ne se charge pas correctement.

Si l’application échoue avec une erreur We're sorry, an error has occurred while generating this email. :

  1. Réinitialisez la propriété et les autorisations du système de fichiers en tant qu’utilisateur disposant de droits root.

  2. Effacez les répertoires suivants :

    • var/cache/
    • var/page_cache/
    • generated/code/
  3. Vérifiez à nouveau votre storefront dans votre navigateur web.

recommendation-more-help
83a60e0e-8849-4685-a8cd-c129ecd795ea