Exemple d’utilisation des commandes de ligne de commande

Cet exemple montre comment définir des valeurs partagées, spécifiques au système et sensibles dans votre système de développement, puis déployer ces valeurs dans votre système de production.
Pour ce faire, utilisez une combinaison de configurations partagées, le fichier config.php et la commande d’interface de ligne de commande Commerce.

Cet exemple utilise les paramètres de configuration suivants :

  • Nombre de visites et Nom de magasin pour les paramètres de configuration partagés.

    Ceux-ci sont disponibles sous Magasins > Paramètres > Configuration > Général > Général.

  • Envoyer des emails à pour la valeur de configuration sensible.

    Vous pouvez le trouver sous Magasins > Paramètres > Configuration > Général > Contacts.

  • Domaine de messagerie par défaut pour la valeur de configuration spécifique au système.

    Vous pouvez le trouver sous Magasins > Paramètres > Configuration > Clients > Configuration client > Créer des options de compte.

Vous pouvez suivre la même procédure que celle présentée dans cet exemple pour paramétrer les paramètres des références suivantes :

Avant de commencer

Avant de commencer, configurez les autorisations et la propriété du système de fichiers comme décrit dans la section Condition préalable requise pour le développement, la création et les systèmes de production.

Hypothèses

Cette rubrique fournit un exemple de modification de la configuration du système de production. Si vous le souhaitez, vous pouvez choisir différentes options de configuration.

Pour les besoins de cet exemple, nous supposons que :

  • Vous utilisez le contrôle source Git
  • Le système de développement est disponible dans un référentiel distant Git nommé mconfig
  • Votre branche de travail Git est nommée m2.2_deploy

Étape 1 : définir la configuration dans le système de développement

Pour définir les paramètres régionaux et les unités de poids par défaut dans votre système de développement :

  1. Connectez-vous à l’administrateur.

  2. Cliquez sur Magasins > Paramètres > Configuration > Général > Général.

  3. Si plusieurs sites web sont disponibles, utilisez la liste Affichage magasin dans le coin supérieur gauche pour passer à un autre site web comme le montre la figure suivante.

    Changer de sites web

  4. Dans le volet de droite, développez Informations sur le magasin.

  5. Si nécessaire, décochez la case Utiliser la valeur par défaut en regard des champs Numéro de TVA et Nom de la boutique .

  6. Entrez un nombre dans le champ (par exemple, 12345).

  7. Dans le champ Nom de la boutique, saisissez une valeur (comme My Store).

  8. Cliquez sur Enregistrer la configuration.

  9. Dans le volet de navigation de gauche, sous Général, cliquez sur Contacts.

  10. Dans le volet de droite, développez Email Options.

  11. Si nécessaire, décochez la case Utiliser la valeur par défaut en regard du champ Envoyer des emails à .

  12. Entrez une adresse électronique dans le champ .

  13. Cliquez sur Enregistrer la configuration.

  14. Utilisez la liste Affichage magasin pour sélectionner la configuration par défaut comme le montre la figure suivante.

    Basculez vers la configuration par défaut

  15. Dans le volet de gauche, cliquez sur Clients > Configuration client.

  16. Dans le volet de droite, développez Créer des options de compte.

  17. Si nécessaire, décochez la case Utiliser la valeur du système en regard du champ Domaine de messagerie par défaut .

  18. Saisissez un nom de domaine dans le champ .

  19. Cliquez sur Enregistrer la configuration.

  20. Si vous y êtes invité, videz le cache.

Etape 2 : mise à jour de la configuration

Maintenant que vous avez modifié la configuration dans l’administrateur, écrivez la configuration partagée dans un fichier comme suit :

Pour mettre à jour la configuration :

  1. Connectez-vous à votre système de développement en tant que propriétaire du système de fichiers ou passez à .

  2. Modifiez la racine de l’application et exécutez la commande dump .

    code language-bash
    cd <Magento root dir>
    php bin/magento app:config:dump
    

    Par exemple, si Commerce est installé dans /var/www/html/magento2, saisissez :

    code language-bash
    cd /var/www/html/magento2
    php bin/magento app:config:dump
    
  3. Vérifiez que app/etc/config.php a été mis à jour.

    code language-bash
    git status
    

    Exemple de réponse :

    code language-none
    On branch m2.2_deploy
    Changed but not updated:
      (use "git add <file>..." to update what will be committed)
      (use "git checkout -- <file>..." to discard changes in working directory)
           modified:   app/etc/config.php
    
    note warning
    WARNING
    N’envoyez pas les modifications apportées aux répertoires generated, pub/media ou pub/static vers le contrôle source. Vous générez ces fichiers sur votre système de génération. Le système de développement comporte probablement du code, des thèmes, etc., qui ne sont pas prêts à être utilisés dans le système de production.
  4. Enregistrez vos modifications sur app/etc/config.php uniquement pour le contrôle de code source.

    code language-bash
    git add app/etc/config.php && git commit -m "Updated shared configuration" && git push mconfig m2.2_deploy
    

Même si app/etc/env.php (la configuration spécifique au système) a été mise à jour, ne l’archivez pas dans le contrôle source.
Vous allez créer les mêmes paramètres de configuration sur votre système de production plus loin dans cette procédure.

Étape 3 : Mettre à jour votre système de génération et générer des fichiers

Maintenant que vous avez validé vos modifications dans la configuration partagée pour le contrôle de code source, vous pouvez extraire ces modifications dans votre système de génération, compiler le code et générer des fichiers statiques.

Pour mettre à jour le système de génération :

  1. Connectez-vous au système de génération en tant que propriétaire du système de fichiers.

  2. Modifiez le répertoire racine de l’application.

    code language-bash
    cd <Magento root dir>
    
  3. Extrayez les modifications vers app/etc/config.php à partir du contrôle source.

    code language-bash
    git pull mconfig m2.2_deploy
    
  4. Compilez du code.

    code language-bash
    bin/magento setup:di:compile
    
  5. Une fois le code compilé, générez des fichiers d’affichage statiques.

    code language-bash
    bin/magento setup:static-content:deploy -f
    
  6. Vérifiez les modifications dans le contrôle de code source.

    code language-bash
    git add -A && git commit -m "Updated files on build system" && git push mconfig m2.2_deploy
    

Étape 4 : mise à jour du système de production

La dernière étape du processus consiste à mettre à jour votre système de production. Vous devez le faire en deux parties :

  • Mise à jour des paramètres sensibles et spécifiques au système
  • Mise à jour des paramètres partagés

Mise à jour des paramètres sensibles et spécifiques au système

Pour définir les paramètres sensibles et spécifiques au système à l’aide de variables d’environnement, vous devez connaître les éléments suivants :

  • Portée de chaque paramètre

    Si vous avez suivi les instructions de l’étape 1, la portée de Envoyer des emails à est le site web et la portée de Domaine de messagerie par défaut est globale (c’est-à-dire, l’étendue de configuration par défaut).

    Vous avez besoin du code du site web pour définir la valeur de configuration Envoyer des emails à .

    Pour plus d’informations sur la recherche de cette valeur, voir : Utilisation de variables d’environnement pour remplacer les paramètres de configuration.

  • Chemins de configuration des paramètres utilisés dans cet exemple :

    table 0-row-2 1-row-2 2-row-2
    Nom du paramètre Chemin de configuration
    Envoyer des emails à contact/email/recipient_email
    Domaine de messagerie par défaut customer/create_account/email_domain

    Pour tous les chemins de configuration sensibles et spécifiques au système, voir : Référence des chemins de configuration sensibles et spécifiques au système.

Définition des variables à l’aide des commandes de l’interface de ligne de commande

Utilisez les commandes d’interface de ligne de commande suivantes pour définir des paramètres de configuration spécifiques au système et sensibles :

  • magento config:set pour les paramètres spécifiques au système
  • magento config:sensitive:set pour les paramètres sensibles

Pour définir le paramètre spécifique au système Domaine de messagerie par défaut, qui se trouve dans la portée par défaut, utilisez la commande suivante :

bin/magento config:set customer/create_account/email_domain <email domain>

Il n’est pas nécessaire d’utiliser la portée dans la commande, car il s’agit de la portée par défaut.

Toutefois, pour définir des valeurs pour Envoyer des emails à, vous devez connaître le type de portée (website) et le code de portée, qui est probablement différent sur chaque site.

Exemple :

bin/magento config:sensitive:set contact/email/recipient_email --scope=website --scope-code=<website code> <email address>

Mise à jour des paramètres partagés

Cette section explique comment extraire toutes les modifications que vous avez apportées à votre développement et créer des systèmes dans un environnement de production, ce qui met à jour les paramètres de configuration partagés (Nom du magasin et Numéro de TVA).

Pour mettre à jour le système de production :

  1. Connectez-vous au système de production en tant que propriétaire du système de fichiers.

  2. Passez à la racine de l’application et activez le mode de maintenance.

    code language-bash
    cd <Magento root dir>
    
    code language-bash
    bin/magento maintenance:enable
    

    Pour obtenir des options supplémentaires, telles que la possibilité de définir une liste blanche des adresses IP, voir magento maintenance:enable.

  3. Arrêtez tous les programmes de travail de file d’attente en cours d’exécution en définissant cron_run sur false dans app/etc/env.php comme suit :

    code language-php?start_inline=1
    'cron_consumers_runner' => [
            'cron_run' => false
        ]
    
  4. Mettez à jour la configuration.

    code language-bash
    bin/magento app:config:import
    
  5. Enfin, kill tout processus client actif.

    code language-bash
    kill <PID>
    

    PID est l’ID de processus à supprimer, par exemple :

    code language-bash
    kill 1234
    
  6. Extrayez le code du contrôle source.

    code language-bash
    git pull mconfig m2.2_deploy
    
  7. Mettez à jour la configuration.

    code language-bash
    bin/magento app:config:import
    
  8. Nettoyez le cache.

    code language-bash
    bin/magento cache:clean
    
  9. Mode de maintenance de fin.

    code language-bash
    bin/magento maintenance:disable
    

Vérification des paramètres de configuration dans Admin

Pour vérifier les paramètres de configuration :

  1. Connectez-vous à l’administrateur de votre système de production.

  2. Cliquez sur Magasins > Paramètres > Configuration > Général > Général.

  3. Utilisez la liste Affichage magasin dans le coin supérieur gauche pour passer à un autre site web.

    Les options de configuration partagées que vous définissez dans le système de développement s’affichent de la même manière que ce qui suit.

    Vérifiez les paramètres dans le système de production

    note info
    INFO
    Le champ Nom du magasin est modifiable dans la portée du site web, mais si vous passez à la portée de configuration par défaut, il n’est pas modifiable. C’est le résultat de la définition des options dans le système de développement. La valeur de Numéro de TVA n’est pas modifiable dans la portée du site web.
  4. Si vous ne l’avez pas déjà fait, passez à la portée de la configuration par défaut.

  5. Dans le volet de navigation de gauche, sous Général, cliquez sur Contacts.

    Le champ Envoyer des emails à n’est pas modifiable, comme le montre la figure suivante. Il s’agit d’un paramètre sensible.

    Vérifiez les paramètres dans le système de production

  6. Dans le volet de gauche, cliquez sur Clients > Configuration client.

  7. Dans le volet de droite, développez Créer des options de compte.

    La valeur du champ Default Email Domain s’affiche comme suit. Il s’agit d’un paramètre spécifique au système.

    Vérifiez les paramètres dans le système de production

recommendation-more-help
386822bd-e32c-40a8-81c2-ed90ad1e198c