Réinitialisation de l’environnement sur Adobe Commerce sur l’infrastructure cloud
Cet article présente différents scénarios de restauration d’un environnement sur Adobe Commerce sur une infrastructure cloud.
Choisissez la solution la plus adaptée à votre cas :
- Si vous avez une activité planifiée (déploiement ou mise à niveau planifiés) - Scénario 1 : activité planifiée).
- Si vous disposez d’un instantané valide - Scénario 2 : restauration d’un instantané.
- Si vous avez une version stable, mais aucun instantané valide - Scénario 3 : aucun instantané, build stable (connexion SSH disponible).
- Si la version est rompue et que vous ne disposez pas d’un instantané valide - Scénario 4 : aucun instantané ; version rompue (aucune connexion SSH).
Scénario 1 : Activité prévue
Dans le cadre d'un déploiement ou d'une mise à niveau planifiés, la Rollback la plus simple et recommandée serait que le commerçant, dans le cadre de vos préparatifs, effectue les opérations suivantes :
Cinq jours avant les activités de mise à niveau/déploiement :
- Vérifie la taille de la base de données active.
- Vérifiez que vous disposez de suffisamment d’espace disque sur
/data/exports
pour contenir une Database Dump. Si vous ne disposez pas de suffisamment d’espace disque, supprimez les données indésirables ou créez un dossier de support et demandez que le disque soit développé.
Le jour des modifications :
- Placez le site web dans Maintenance Mode.
Pour en savoir plus sur Activer ou désactiver le Maintenance Mode, consultez notre guide de l’utilisateur et Maintenance Mode les options de mise à niveau consultez notre guide de mise à niveau. - Désactivez les tâches cron. Pour en savoir plus sur la désactivation des tâches cron, consultez notre guide des propriétés cron.
- Prenez un Database Dump local.
Si une Rollback est requise :
- Si des applications telles que MariaDB ont été mises à niveau dans le cadre de cette activité planifiée, vous devez d'abord réinstaller cette application sur une version précédente.
- Rollback la base de données à l'aide du Database Dump local et réimportez-la dans MariaDB.
- Rollback le code par Git à une version de travail précédente.
L’utilisation de Snapshots n’est pas recommandée pour les rollbacks/restores de mise à niveau/d’activité planifiée, car la récupération des données prend beaucoup plus de temps qu’une Database Dump locale, comme indiqué ci-dessus à l’étape 2 de la section Si une Rollback est requise.
Les Snapshots ne sont pas conservées sur le nœud/serveur, elles sont conservées sur un bloc de stockage distinct, et comme ces données doivent être transmises du bloc de stockage sur le réseau à un nouveau disque, cela prend du temps dans le processus. Ce nouveau disque est ensuite monté sur le nœud prêt à être récupéré/importé sur le disque d’origine connecté au nœud/serveur.
Si vous le comparez à l’importation d’un Database Dump local, les données peuvent déjà être récupérées sur le nœud/serveur, ce qui permet de gagner beaucoup de temps, car seul un Database Import est nécessaire.
Scénario 2 : restauration d’un instantané
Lire : Restaurez un instantané sur Adobe Commerce sur l’infrastructure cloud dans notre documentation destinée aux développeurs.
Lire : Créer un instantané dans notre documentation destinée aux développeurs.
Scénario 3 : aucun instantané, build stable (connexion SSH disponible)
Cette section explique comment réinitialiser un environnement lorsque vous n’avez pas créé d’instantané, mais que vous pouvez accéder à l’environnement via SSH.
Les étapes sont les suivantes :
- Désactivez la gestion de la configuration.
- Désinstallez le logiciel Adobe Commerce.
- Réinitialisez la branche git.
Après avoir effectué les étapes suivantes :
- Votre installation d’Adobe Commerce revient à son état Vanilla (base de données restaurée ; configuration de déploiement supprimée ; répertoires sous
var
effacés). - Votre branche git est réinitialisée à l’état souhaité dans le passé.
Lisez les étapes détaillées ci-dessous.
Étape 0 (Prérequis) : Supprimer config.php pour désactiver Configuration Management
Nous devons désactiver la gestion de la configuration afin qu’elle n’applique pas automatiquement les paramètres de configuration précédents lors du déploiement.
Pour désactiver la gestion de la configuration, assurez-vous que votre répertoire /app/etc/
ne contient pas le fichier config.php
.
Pour supprimer le fichier de configuration, procédez comme suit :
- SSH à votre environnement.
- Supprimez le fichier de configuration :
rm app/etc/config.php
En savoir plus sur la gestion de la configuration :
- Réduisez les temps d’arrêt du déploiement sur Adobe Commerce sur les infrastructures cloud dans notre base de connaissances d’assistance.
- Gestion de la configuration pour les paramètres du magasin dans notre documentation destinée aux développeurs.
Étape 1 : désinstaller le logiciel Adobe Commerce avec la commande setup:uninstall
La désinstallation du logiciel Adobe Commerce interrompt et restaure la base de données, supprime la configuration de déploiement et efface les répertoires situés sous var
.
Lire : Désinstaller le logiciel Adobe Commerce dans notre documentation destinée aux développeurs.
Pour désinstaller le logiciel Adobe Commerce, procédez comme suit :
- SSH à votre environnement.
- Exécuter
setup:uninstall
:bin/magento setup:uninstall
- Confirmez la désinstallation.
Le message suivant s’affiche pour confirmer la réussite de la désinstallation :
[SUCCESS]: Magento uninstallation complete.
Cela signifie que nous avons rétabli notre installation d’Adobe Commerce (y compris DB) à son état authentique (Vanilla).
Étape 2 : réinitialiser la branche git
Avec git réinitialisé, nous rétablissons l’état souhaité du code dans le passé.
- Clonez l’environnement vers votre environnement de développement local. Vous pouvez copier la commande dans la console Cloud :
- Accéder à l’historique des validations. Utilisez
--reverse
pour afficher l’historique dans l’ordre inverse pour plus de commodité :git log --reverse
- Sélectionnez le hachage de validation pour lequel vous êtes satisfait. Pour réinitialiser le code à son état d’authenticité (Vanilla), recherchez la toute première validation qui a créé votre branche (environnement).
- Appliquer la réinitialisation du git dur :
git reset --h <commit_hash>
- Envoi des modifications au serveur :
git push --force <origin> <branch>
Après avoir effectué ces étapes, notre branche git est réinitialisée et l’ensemble du journal des modifications git est clair. La dernière notification push git déclenche le redéploiement pour appliquer toutes les modifications et réinstaller Adobe Commerce.
Scénario 4 : aucun instantané ; version rompue (aucune connexion SSH)
Cette section explique comment réinitialiser un environnement lorsqu’il est dans un état critique : la procédure de déploiement ne peut pas réussir à créer une application en cours d’exécution, ce qui rend la connexion SSH indisponible.
Dans ce scénario, vous devez d’abord restaurer l’état de fonctionnement de votre application Adobe Commerce à l’aide de git réinitialisation, puis désinstaller le logiciel Adobe Commerce (pour supprimer et restaurer la base de données, supprimer la configuration de déploiement, etc.). Le scénario implique les mêmes étapes que dans le scénario 3, mais l’ordre des étapes est différent et il existe une étape supplémentaire : forcer le redéploiement. Les étapes sont les suivantes :
Après avoir effectué ces étapes, vous obtiendrez les mêmes résultats que dans le scénario 3.
Étape 4 : forcer le redéploiement
Effectuez une validation (il peut s’agir d’une validation vide, bien que nous ne la recommandions pas) et envoyez-la au serveur pour déclencher le redéploiement :
git commit --allow-empty -m "<message>" && git push <origin> <branch>
En cas d’échec de la configuration : désinstallation, réinitialisation manuelle de la base de données
Si l'exécution de la commande setup:uninstall
échoue avec une erreur et ne peut pas être exécutée, nous pouvons effacer manuellement la base de données en procédant comme suit :
- SSH à votre environnement.
- Connectez-vous à la base de données MySQL :
mysql -h database.internal
(pour les environnements Pro, voir : Configurer le service MySQL). - Déposez la base de données
main
:drop database main;
- Créez une base de données
main
vide :create database main;
- Supprimez les fichiers de configuration suivants :
config.php
,config.php.bak
,env.php
,env.php.bak
Après la réinitialisation de la base de données, effectuez une push git vers l’environnement pour déclencher le redéploiement et installez Adobe Commerce sur une base de données nouvellement créée. Ou exécutez la commande redeploy.