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.
- Pour Adobe Commerce sur les projets d’infrastructure cloud, reportez-vous à la section Mise à niveau de Commerce version du Guide Cloud.
- N’utilisez pas cette méthode pour effectuer la mise à niveau si vous avez cloné le référentiel GitHub. Voir Mise à niveau d’une installation basée sur Git.
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.
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
-
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.
-
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
-
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. -
Créez une sauvegarde du fichier
composer.json
.code language-bash cp composer.json composer.json.bak
-
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
-
-
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 êtreproduct-community-edition
ouproduct-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. -
-
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
-
Mettez à jour les champs
"name"
,"version"
et"description"
dans le fichiercomposer.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. -
Appliquez les mises à jour.
code language-bash composer update
-
Effacez les sous-répertoires
var/
etgenerated/
: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. -
Mettez à jour le schéma et les données de la base de données.
code language-bash bin/magento setup:upgrade
-
Désactivez le mode de maintenance.
code language-bash bin/magento maintenance:disable
-
(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.
:
-
Réinitialisez la propriété et les autorisations du système de fichiers en tant qu’utilisateur disposant de droits
root
. -
Effacez les répertoires suivants :
var/cache/
var/page_cache/
generated/code/
-
Vérifiez à nouveau votre storefront dans votre navigateur web.