Application de correctifs
Les correctifs Cloud pour Commerce et l’outil de correctifs de la qualité Quality Patches Tool fournissent des correctifs à votre application Adobe Commerce installée.
- Le package Correctifs cloud pour Commerce fournit les correctifs requis avec des correctifs critiques
- Les correctifs de qualité fournissent des correctifs de qualité facultatifs et à faible impact sous la forme de correctifs individuels qui ne contiennent pas de modifications non rétrocompatibles
Consultez Correctifs disponibles dans le Guide des outils d’exploitation Commerce pour obtenir une liste complète des correctifs publiés.
Les deux packages améliorent l’intégration de toutes les versions d’Adobe Commerce avec les environnements cloud et prennent en charge la diffusion rapide de correctifs critiques, facultatifs et personnalisés. Vous pouvez utiliser ces packages pour appliquer, rétablir et afficher des informations générales sur tous les correctifs individuels disponibles pour Commerce.
Lorsque vous déployez des modifications dans l’environnement distant, le package ece-tools
utilise magento/magento-cloud-patches
et magento/quality-patches
pour rechercher les correctifs en attente et les applique automatiquement dans l’ordre suivant :
- Appliquez tous les correctifs Commerce requis inclus dans le package Correctifs cloud pour Commerce .
- Application des correctifs Commerce facultatifs sélectionnés inclus dans l’outil de correctifs de la qualité.
- Appliquez les correctifs personnalisés dans le répertoire
/m2-hotfixes
, par ordre alphabétique et par nom de correctif.
ece-tools
ou le package Correctifs cloud pour Commerce, les derniers correctifs requis sont appliqués la prochaine fois que vous déployez votre projet. Vous pouvez également les déployer immédiatement à l’aide de la commande de l’interface de ligne de commande ece-patches apply
et redéployer votre environnement Cloud. Vous ne pouvez pas ignorer correctifs requis pendant le processus de déploiement.Conditions préalables
L’outil de correctifs de qualité est une dépendance pour les correctifs cloud pour Commerce et le package ece-tools
. Pour appliquer les derniers patchs, vous devez avoir installé la dernière version de ECE-Tools. La version minimale requise des outils ECE est la version 2002.1.2.
Afficher les correctifs et l’état disponibles
Pour afficher la liste des patchs disponibles :
php ./vendor/bin/ece-patches status
Exemple de réponse :
More detailed information about patches you can find on https://support.magento.com/
╔════════════════╤═════════════════════════════════════════════════╤══════════╤═════════════╤═════════════════════════════════╗
║ Id │ Title │ Type │ Status │ Details ║
╠════════════════╪═════════════════════════════════════════════════╪══════════╪═════════════╪═════════════════════════════════╣
║ MAGECLOUD-5069 │ FPC is getting disabled during deployments │ Required │ Applied │ Affected components: ║
║ │ │ │ │ - magento/module-page-cache ║
╟────────────────┼─────────────────────────────────────────────────┼──────────┼─────────────┼─────────────────────────────────╢
║ MCLOUD-5650 │ Hold deployment config after reading from file │ Required │ Applied │ Affected components: ║
║ │ │ │ │ - magento/framework ║
╟────────────────┼─────────────────────────────────────────────────┼──────────┼─────────────┼─────────────────────────────────╢
║ MCLOUD-5684 │ Pagination Not working - product_list_limit=all │ Required │ Applied │ Affected components: ║
║ │ │ │ │ - magento/module-elasticsearch ║
╟────────────────┼─────────────────────────────────────────────────┼──────────┼─────────────┼─────────────────────────────────╢
║ MC-65837 │ Fix load balancer issue │Deprecated│ Applied │ Recommended replacement: MC-1 ║
║ │ │ │ │ Affected components: ║
║ │ │ │ │ - magento/framework ║
╟────────────────┼─────────────────────────────────────────────────┼──────────┼─────────────┼─────────────────────────────────╢
║ BUNDLE-2554 │ Set Payment info bug │ Required │ Not applied │ Affected components: ║
║ │ │ │ │ - amzn/amazon-pay-module ║
╟────────────────┼─────────────────────────────────────────────────┼──────────┼─────────────┼─────────────────────────────────╢
║ MC-1 │ Fixes issue 1 │ Optional │ Applied │ Affected components: ║
║ │ │ │ │ - magento/module-cms ║
╟────────────────┼─────────────────────────────────────────────────┼──────────┼─────────────┼─────────────────────────────────╢
║ MC-2 │ Fixes issue 2 │ Optional │ Not applied │ Affected components: ║
║ │ │ │ │ - magento/module-cms ║
╟────────────────┼─────────────────────────────────────────────────┼──────────┼─────────────┼─────────────────────────────────╢
║ MC-3 │ Fixes issue 3 │ Optional │ Not applied │ Required patches: ║
║ │ │ │ │ - MC-2 ║
║ │ │ │ │ Affected components: ║
║ │ │ │ │ - magento/module-cms ║
╟────────────────┼─────────────────────────────────────────────────┼──────────┼─────────────┼─────────────────────────────────╢
║ N/A │ ../m2-hotfixes/MDVA_custom__2.3.5_ce.patch │ Custom │ N/A │ Affected components: ║
║ │ │ │ │ - magento/module-framework ║
╚════════════════╧═════════════════════════════════════════════════╧══════════╧═════════════╧═════════════════════════════════╝
Magento 2 Enterprise Edition, version 2.3.5.0
Le tableau d'état contient les types d'informations suivants :
-
Type :
Optional
: tous les correctifs de l’outil de correctifs de la qualité et du package de correctifs cloud sont facultatifs pour les installations d’Adobe Commerce et de Magento Open Source. Pour Adobe Commerce sur les infrastructures cloud, tous les correctifs sont facultatifs.Required
: tous les correctifs du package Correctifs cloud pour Commerce sont requis pour les clients cloud.Deprecated
: le correctif individuel est marqué comme obsolète et nous vous recommandons de le rétablir si vous l’avez appliqué. Une fois que vous avez rétabli un correctif obsolète, il ne s’affiche plus dans le tableau d’état.Custom
: tous les correctifs du répertoire « m2-hotfix ».
-
Statut :
Applied
: le correctif a été appliqué.Not applied
: le correctif n'a pas été appliqué.N/A
: impossible de définir l'état du correctif en raison de conflits.
-
Détails :
Affected components
: liste des modules concernés.Required patches
: liste des patchs requis (dépendances).Recommended replacement
: correctif qui est le remplacement recommandé d'un correctif obsolète.
Application d’un correctif dans un environnement local
Vous pouvez appliquer les correctifs manuellement dans un environnement local et les tester avant de les déployer.
Pour appliquer des correctifs individuels dans un environnement de développement local :
-
Ajoutez la variable 'QUALITY_PATCH' au fichier
.magento.env.yaml
et répertoriez les correctifs requis sous.code language-yaml stage: build: QUALITY_PATCHES: - MCTEST-1002 - MCTEST-1003
-
Appliquez les correctifs à partir de la racine du projet.
code language-bash php ./vendor/bin/ece-patches apply
La commande
ece-patches apply
applique les correctifs dans l’ordre suivant :- Correctifs requis
- Correctifs individuels facultatifs
- Correctifs personnalisés du répertoire
/m2-hotfixes
-
Effacez le cache.
code language-bash php ./bin/magento cache:clean
-
Testez les correctifs et apportez les modifications nécessaires aux correctifs personnalisés.
Application d’un correctif dans un environnement distant
Pour appliquer des correctifs dans un environnement distant :
-
Ajoutez la variable
QUALITY_PATCHES
au fichier.magento.env.yaml
et répertoriez les correctifs requis sous .code language-yaml stage: build: QUALITY_PATCHES: - MCTEST-1002 - MCTEST-1003
note note NOTE Après la mise à niveau vers une nouvelle version d’Adobe Commerce, vous devez réappliquer les correctifs si ceux-ci ne sont pas inclus dans la nouvelle version. -
Ajouter, valider et transmettre le fichier
.magento.env.yaml
mis à jour.code language-bash git add .magento.env.yaml
code language-bash git commit -m "Apply patch"
code language-bash git push origin <branch-name>
Application d’un correctif personnalisé
Lorsque vous déployez, ECE-Tools applique tous les patchs Adobes et tous les patchs personnalisés que vous ajoutez au répertoire /m2-hotfixes
dans la racine du projet.
.patch
.Pour appliquer et tester un correctif personnalisé dans un environnement cloud :
-
Dans la racine du projet, créez un répertoire appelé
m2-hotfixes
s’il n’existe pascode language-bash mkdir m2-hotfixes
-
Copiez le fichier de correctif dans le répertoire
/m2-hotfixes
. -
Ajout, validation et modifications de code push.
code language-bash git add m2-hotfixes/
code language-bash git commit -m "Apply patch"
code language-bash git push origin <branch-name>
note note NOTE Veillez à tester tous les correctifs dans un environnement de pré-production. Pour Adobe Commerce sur les infrastructures cloud, vous pouvez créer des branches à l’aide de la commande d’interface de ligne de commande magento-cloud environment:branch <branch-name>
.
Rétablir un correctif personnalisé
Pour rétablir ou désinstaller un correctif personnalisé précédemment appliqué :
-
Supprimez le fichier de correctif du répertoire
/m2-hotfixes
. -
Ajout, validation et modifications de code push.
code language-bash git add m2-hotfixes/
code language-bash git commit -m "Revert patch"
code language-bash git push origin <branch-name>
note note NOTE Veillez à effectuer le test dans un environnement de pré-production. Pour Adobe Commerce sur les infrastructures cloud, vous pouvez créer des branches à l’aide de la commande d’interface de ligne de commande magento-cloud environment:branch <branch-name>
.
Application de correctifs à un projet non cloud
Utilisez l’outil Correctifs de qualité pour les projets Magento Open Source et Adobe Commerce.
Rétablissement d’un correctif dans un environnement local
Vous pouvez rétablir tous les correctifs précédemment appliqués dans un environnement de développement local à l’aide de l’interface de ligne de commande ece-patches
.
Pour rétablir tous les correctifs appliqués :
php ./vendor/bin/ece-patches revert
Cette commande rétablit tous les correctifs dans l’ordre suivant :
- Annule tous les correctifs personnalisés appliqués à partir du répertoire /m2-hotfixes.
- Rétablit tous les correctifs individuels facultatifs appliqués.
- Annule tous les correctifs obligatoires appliqués.
Journalisation
L’outil de correctifs de qualité consigne toutes les opérations dans le fichier <Project_root>/var/log/patch.log
.