Gestion de la configuration du magasin

Les configurations par défaut de votre magasin sont stockées dans une config.xml pour le module approprié. Lorsque vous modifiez les paramètres dans l’administrateur Commerce ou l’interface de ligne de commande bin/magento config:set , les modifications sont répercutées dans la base de données principale, en particulier dans la fonction core_config_data table. Ces paramètres remplacent les configurations par défaut stockées dans la variable config.xml fichier .

Paramètres du magasin, qui font référence aux configurations dans l’Admin Magasins > Paramètres > Configuration , sont stockées dans les fichiers de configuration de déploiement en fonction du type de configuration :

  • app/etc/config.php: paramètres de configuration pour les magasins, les sites web, les modules ou les extensions, l’optimisation des fichiers statiques et les valeurs système liées au déploiement de contenu statique. Voir Référence config.php dans le Guide de configuration.
  • app/etc/env.php: valeurs pour les remplacements spécifiques au système et les paramètres sensibles qui doivent NOT être stocké dans le contrôle de code source. Voir référence env.php dans le Guide de configuration.
NOTE
Étant donné qu’Adobe Commerce sur l’infrastructure cloud prend uniquement en charge les modes de production et de maintenance, la variable Avancé > Développeur n’est pas accessible dans Admin. Vous devez avoir privilèges d’administrateur d’environnement pour terminer les tâches de gestion de la configuration. Vous pouvez configurer des paramètres supplémentaires à l’aide de la fonction variables d'environnement.

La gestion des configurations permet de déployer des paramètres de magasin cohérents dans vos environnements avec un temps d’arrêt minimal à l’aide du déploiement du pipeline. Adobe Commerce sur le projet d’infrastructure cloud comprend le serveur de génération, les scripts de génération et de déploiement, ainsi que les environnements de déploiement conçus avec le stratégie de déploiement du pipeline à l’esprit.

Schéma de remplacement de configuration

Toutes les configurations système sont définies lors des phases de création et de déploiement selon le schéma de remplacement suivant :

  1. Si une variable d’environnement existe, utilisez la configuration personnalisée et ignorez la configuration par défaut.
  2. Si une variable d’environnement n’existe pas, utilisez la configuration d’une MAGENTO_CLOUD_RELATIONSHIPS paire nom-valeur dans la variable .magento.app.yaml fichier. Ignorez la configuration par défaut.
  3. Si une variable d’environnement n’existe pas et MAGENTO_CLOUD_RELATIONSHIPS ne contient pas de paire nom-valeur, supprimez toute configuration personnalisée et utilisez les valeurs de la configuration par défaut.

Pour résumer, les variables d’environnement remplacent toutes les autres valeurs.

TIP
Voir Gestion des configurations dans le Guide de configuration pour en savoir plus sur le modèle de remplacement pour le déploiement du pipeline.

Si le même paramètre est configuré à plusieurs endroits, l’application se base sur la hiérarchie de configuration suivante pour déterminer la valeur à appliquer à l’environnement :

Priorité
Configuration
Méthode
Description
1
Cloud Console
variables d'environnement
Valeurs ajoutées à partir de la variable Variables de la configuration de l’environnement dans l’onglet Cloud Console. Spécifiez ici des valeurs pour les configurations sensibles ou spécifiques à un environnement. Les paramètres spécifiés ici ne peuvent pas être modifiés à partir de l’administrateur. Voir Variables de configuration d’environnement.
2
.magento.app.yaml
Valeurs ajoutées dans la variable variables de la .magento.app.yaml fichier . Spécifiez ici les valeurs afin d’assurer une configuration cohérente dans tous les environnements. Ne spécifiez pas de valeurs sensibles dans la variable .magento.app.yaml fichier . Voir Paramètres de l’application.
3
app/etc/env.php
Les valeurs de configuration spécifiques à un environnement stockées ici sont ajoutées à l’aide de la variable app:config:dump . Définissez les valeurs sensibles et spécifiques au système à l’aide des variables d’environnement ou de l’interface de ligne de commande. Voir Données sensibles. La variable env.php fichier is not inclus dans le contrôle source.
4
app/etc/config.php
Les valeurs stockées ici sont ajoutées à l’aide de la fonction app:config:dump . Les valeurs de configuration partagées sont ajoutées à config.php. Définissez la configuration partagée depuis l’administrateur ou à l’aide de l’interface de ligne de commande. La variable config.php est inclus dans le contrôle de code source.
5
Base
Les valeurs stockées ici sont ajoutées en définissant des configurations dans l’administrateur. Les configurations définies à l’aide des méthodes précédentes sont verrouillées (grisées) et ne peuvent pas être modifiées à partir de l’administrateur.
6
config.xml
De nombreuses configurations comportent des valeurs par défaut définies dans la variable config.xml pour un module. Si Adobe Commerce ne trouve aucune valeur définie par l’une des méthodes précédentes, elle revient à la valeur par défaut, le cas échéant.

Dépôt de configuration

Vous pouvez utiliser les éléments suivants : ece-tools pour générer une commande config.php qui contient toutes les configurations de magasin actuelles :

./vendor/bin/ece-tools config:dump

Les données "ont été vidées" vers la variable app/etc/config.php fichier devient verrouillé, ce qui signifie que le champ correspondant dans l’administrateur Commerce devient lecture seule. La variable config.php inclut uniquement les paramètres que vous configurez. Les valeurs par défaut ne sont pas verrouillées. En verrouillant uniquement les valeurs que vous mettez à jour, vous avez également la garantie que toutes les extensions utilisées dans les environnements d’évaluation et de production ne sont pas rompues en raison de configurations en lecture seule, notamment Fastly.

WARNING
La variable ece-tools config:dump La commande ne récupère pas les configurations détaillées des modules, tels que B2B. Si vous avez besoin d’un vidage de configuration complet, utilisez la méthode app:config:dump , mais cette commande verrouille les valeurs de configuration en lecture seule.

Données sensibles

Toute configuration sensible exportée vers app/etc/env.php lorsque vous utilisez le fichier bin/magento app:config:dump . Vous pouvez définir des valeurs sensibles à l’aide de la commande d’interface en ligne de commande : bin/magento config:sensitive:set. Voir Paramètres sensibles et spécifiques à l’environnement dans le Extensions PHP de commerce pour savoir comment désigner les paramètres de configuration comme étant sensibles ou spécifiques au système.

Consultez la liste des Paramètres sensibles ou spécifiques au système dans le Guide de configuration.

Performances SCD

Selon la taille de votre magasin, vous pouvez déployer un grand nombre de fichiers de contenu statique. Normalement, le contenu statique est déployé pendant la phase de déploiement lorsque l’application est en mode de maintenance. La configuration la plus optimale consiste à générer du contenu statique pendant la phase de création. Voir Choix d’une stratégie de déploiement.

Si vous avez activé Configuration Management après avoir vidé les configurations, vous devez déplacer les variables SCD_* de l’étape de déploiement vers l’étape de création pour activer correctement la génération de contenu statique pendant la phase de création. Voir Variables d’environnement.

Avant la gestion de la configuration:

  deploy:
    CRON_CONSUMERS_RUNNER:
      cron_run: true
      consumers: []
    SCD_STRATEGY: compact
    SCD_MATRIX:
      ...
    REDIS_USE_SLAVE_CONNECTION: 1

Après avoir activé la gestion des configurations:

Déplacez les variables SCD_* vers l’étape de création :

  deploy:
    CRON_CONSUMERS_RUNNER:
      cron_run: true
      consumers: []
    REDIS_USE_SLAVE_CONNECTION: 1
  build:
    SCD_STRATEGY: compact
    SCD_MATRIX:
      ...
NOTE
Avant de déployer des fichiers statiques, les phases de création et de déploiement compressent le contenu statique à l’aide de GZIP. La compression de fichiers statiques réduit la charge du serveur et améliore les performances du site. Voir options de création pour en savoir plus sur la personnalisation ou la désactivation de la compression de fichier.

Procédure de gestion des paramètres

Voici un aperçu général de ce processus :

Présentation de la gestion de la configuration de démarrage

Pour configurer votre magasin et générer un fichier de configuration:

  1. Effectuez toutes les configurations pour vos magasins dans l’Admin pour l’un des environnements :

    • Démarrage : une branche de développement active
    • Pro : branche active dans l’environnement d’intégration

    Ces configurations n’incluent pas les produits réels, sauf si vous envisagez de vider la base de données de cet environnement vers les environnements d’évaluation et de production. En règle générale, les bases de données de développement n’incluent pas vos données de magasin complètes.

  2. Sur votre poste de travail local, modifiez le répertoire de votre projet.

  3. Créez un vidage local de la base distante.

    code language-bash
    magento-cloud db:dump
    
  4. Ajoutez, validez et poussez les modifications de code pour mettre à jour un environnement distant.

    code language-bash
    git add app/etc/config.php
    
    code language-bash
    git commit -m "Add system-specific configuration"
    
    code language-bash
    git push origin <branch-name>
    

Une fois le déploiement terminé, connectez-vous à l’administrateur de l’environnement mis à jour pour vérifier les paramètres. Continuez à fusionner toutes les configurations supplémentaires aux environnements d’évaluation et de production, si nécessaire.

Mise à jour des configurations

Lorsque vous modifiez votre environnement par l’intermédiaire de l’administrateur et exécutez à nouveau la commande , de nouvelles configurations sont ajoutées au code dans la variable config.php fichier .

WARNING
Bien que vous puissiez modifier manuellement le config.php dans les environnements d’évaluation et de production, c’est-à-dire not recommandé. Le fichier permet de préserver la cohérence de toutes les configurations dans tous les environnements. Ne jamais supprimer la variable config.php pour le recréer. La suppression du fichier peut supprimer les configurations et paramètres spécifiques requis pour créer et déployer des processus.

Restauration des fichiers de configuration

Copies de l’original app/etc/env.php et app/etc/config.php Les fichiers ont été créés pendant le processus de déploiement et stockés dans le même dossier. L’exemple suivant montre les fichiers BAK (sauvegarde) et PHP (fichiers originaux) dans le même app/etc folder:

...
config.php.bak
di.xml
env.php.bak
vendor_path.php
config.php
db_schema.xml
env.php
...

Les anciennes configurations utilisaient la variable app/etc/config.local.php fichier . Voir Migration des anciennes configurations.

Pour restaurer les fichiers de configuration:

  1. Sur votre poste de travail local, utilisez SSH pour vous connecter au projet et à l’environnement distants.

    code language-bash
    magento-cloud ssh
    
  2. Vérifiez l’emplacement et la disponibilité des fichiers de sauvegarde.

    code language-bash
    ./vendor/bin/ece-tools backup:list
    

    Exemple de réponse :

    code language-terminal
    The list of backup files:
    app/etc/env.php
    app/etc/config.php
    
  3. Restaurer les fichiers de sauvegarde.

    code language-bash
    ./vendor/bin/ece-tools backup:restore
    

Migration des anciennes configurations

Si vous effectuez une mise à niveau vers Adobe Commerce sur l’infrastructure cloud 2.2 ou une version ultérieure, vous pouvez migrer les paramètres de la variable config.local.php dans votre nouveau fichier config.php fichier . Si les paramètres de configuration de votre administrateur correspondent au contenu du fichier, suivez les instructions pour générer et ajouter le config.php fichier .

S’ils diffèrent, vous pouvez ajouter du contenu à partir du config.local.php dans votre nouveau fichier config.php fichier :

  1. Suivez les instructions pour générer le config.php fichier .

  2. Ouvrez le config.php et supprimez la dernière ligne.

  3. Ouvrez le config.local.php et copiez le contenu.

  4. Collez le contenu dans le config.php , enregistrez et complétez l’ajout à Git.

  5. Déployez dans vos environnements.

Cette migration n’est effectuée qu’une seule fois. Après la migration, utilisez la méthode config.php fichier .

Modifier les paramètres régionaux

Vous pouvez modifier les paramètres régionaux de votre magasin sans suivre un processus complexe d'import et d'export de configuration, if you have SCD_ON_DEMAND activée. Vous pouvez mettre à jour les paramètres régionaux à l’aide de l’Admin.

Vous pouvez ajouter un autre paramètre régional à l’environnement d’évaluation ou de production en activant SCD_ON_DEMAND dans une branche d’intégration, générez une config.php avec les informations sur les nouveaux paramètres régionaux et copiez le fichier de configuration dans l’environnement cible.

WARNING
Ce processus remplace la configuration du magasin ; procédez comme suit uniquement si les environnements contiennent les mêmes magasins.
  1. Dans l’environnement d’intégration, activez la variable SCD_ON_DEMAND en utilisant la variable .magento.env.yaml fichier.

  2. Ajoutez les paramètres régionaux nécessaires à l’aide de votre administrateur.

  3. Utilisez SSH pour vous connecter à l’environnement distant et générer la variable /app/etc/config.php contenant tous les paramètres régionaux.

    code language-bash
    ssh <SSH-URL> "./vendor/bin/ece-tools config:dump"
    
  4. Copiez le nouveau fichier de configuration de l’environnement d’intégration distante dans votre répertoire d’environnement local.

    code language-bash
    rsync <SSH-URL>:app/etc/config.php ./app/etc/config.php
    
  5. Ajoutez, validez et poussez les modifications de code pour mettre à jour un environnement distant.

recommendation-more-help
05f2f56e-ac5d-4931-8cdb-764e60e16f26