Exemple d’utilisation de commandes d’interface 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 sur votre système de production.
Pour ce faire, utilisez une combinaison de configurations partagées, du fichier config.php
et de la commande de l’interface de ligne de commande Commerce.
Cet exemple utilise les paramètres de configuration suivants :
-
Numéro de TVA et Nom de la boutique pour les paramètres de configuration partagés.
Vous les trouverez sous Magasins > Paramètres > Configuration > Général > Général.
-
Envoyer des e-mails à pour la valeur de configuration sensible.
Elle se trouve sous Magasins > Paramètres > Configuration > Général > Contacts.
-
Domaine d’e-mail par défaut pour la valeur de configuration spécifique au système.
Elle se trouve sous Magasins > Paramètres > Configuration > Clients > Configuration du client > Options de création de compte.
Vous pouvez utiliser la même procédure que celle illustrée dans cet exemple pour configurer des paramètres dans les références suivantes :
Avant de commencer
Avant de commencer, configurez les autorisations et la propriété du système de fichiers, comme indiqué dans la section Conditions préalables au développement, à la création et aux systèmes de production.
Hypothèses
Cette rubrique fournit un exemple de modification de la configuration du système d’exploitation. Vous pouvez choisir différentes options de configuration si vous le souhaitez.
Pour les besoins de cet exemple, nous supposons que :
- Vous utilisez le contrôle de code 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 :
-
Connectez-vous à l’administrateur.
-
Cliquez sur Magasins > Paramètres > Configuration > Général > Général.
-
Si plusieurs sites web sont disponibles, utilisez la liste Affichage de la boutique située dans le coin supérieur gauche pour passer à un autre site web, comme le montre l’illustration suivante.
-
Dans le volet de droite, développez Informations du magasin.
-
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.
-
Saisissez un nombre dans le champ (par exemple,
12345
). -
Dans le champ Nom de la boutique, saisissez une valeur (comme
My Store
). -
Cliquez sur Enregistrer la configuration.
-
Dans le volet de navigation de gauche, sous Général, cliquez sur Contacts.
-
Dans le volet de droite, développez Options de messagerie.
-
Si nécessaire, décochez la case Utiliser la valeur par défaut en regard du champ Envoyer des e-mails à.
-
Saisissez une adresse e-mail dans le champ.
-
Cliquez sur Enregistrer la configuration.
-
Utilisez la liste Affichage de la boutique pour sélectionner la configuration par défaut comme le montre la figure suivante.
-
Dans le volet de gauche, cliquez sur Clients > Configuration du client.
-
Dans le volet de droite, développez Options de création de compte.
-
Si nécessaire, décochez la case Utiliser la valeur système en regard du champ Domaine d’e-mail par défaut.
-
Saisissez un nom de domaine dans le champ .
-
Cliquez sur Enregistrer la configuration.
-
Si vous y êtes invité, videz le cache.
Étape 2 : mettre à jour la configuration
Maintenant que vous avez modifié la configuration dans l’administration, écrivez la configuration partagée dans un fichier en procédant comme suit :
Pour mettre à jour la configuration :
-
Connectez-vous à votre système de développement en tant que propriétaire du système de fichiers ou passez à ce système.
-
Passez à 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
-
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
oupub/static
au contrôle de code 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 sur le système de production. -
Archivez vos modifications dans
app/etc/config.php
uniquement au 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 de code source.
Vous allez créer les mêmes paramètres de configuration sur votre système d’exploitation 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 de la configuration partagée dans le contrôle de code source, vous pouvez extraire ces modifications dans votre système de build, compiler le code et générer des fichiers statiques.
Pour mettre à jour le système de build :
-
Connectez-vous au système de génération en tant que propriétaire du système de fichiers.
-
Accédez au répertoire racine de l’application.
code language-bash cd <Magento root dir>
-
Extrayez les modifications apportées à
app/etc/config.php
à partir du contrôle de code source.code language-bash git pull mconfig m2.2_deploy
-
Compilez le code.
code language-bash bin/magento setup:di:compile
-
Une fois le code compilé, générez des fichiers de vue statiques.
code language-bash bin/magento setup:static-content:deploy -f
-
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
Etape 4 : Mise à jour du système d'exploitation
La dernière étape du processus consiste à mettre à jour votre système de production. Vous devez le faire en deux parties :
- Mettre à jour les paramètres sensibles et spécifiques au système
- Mettre à jour les paramètres partagés
Mettre à jour les 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 l’option Envoyer des e-mails à est celle du site web et celle de l’option Domaine d’e-mail par défaut est globale (c’est-à-dire la portée de la configuration par défaut).
Vous avez besoin du code du site web pour définir la valeur de configuration Envoyer des e-mails à.
Pour plus d’informations sur la recherche de cette valeur, voir : Utilisation des 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 E-Mails À contact/email/recipient_email
Domaine d’e-mail 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 de commandes d’interface de ligne de commande
Utilisez les commandes d’interface de ligne de commande suivantes pour définir des paramètres de configuration sensibles et spécifiques au système :
magento config:set
pour les paramètres spécifiques au systèmemagento config:sensitive:set
pour les paramètres sensibles
Pour définir le paramètre spécifique au système Domaine d’e-mail 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 e-mails à, 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>
Mettre à jour les paramètres partagés
Cette section explique comment extraire toutes les modifications que vous avez apportées à vos systèmes de développement et de création dans un environnement de production, ce qui met à jour les paramètres de configuration partagés (nom de magasin et numéro de TVA).
Pour mettre à jour le système d’exploitation :
-
Connectez-vous au système d’exploitation en tant que propriétaire du système de fichiers.
-
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 d’autres options, telles que la possibilité de définir une liste autorisée d’adresses IP, voir
magento maintenance:enable
. -
Arrêtez tous les programmes de traitement de file d’attente en cours d’exécution en définissant
cron_run
surfalse
dansapp/etc/env.php
comme suit :code language-php?start_inline=1 'cron_consumers_runner' => [ 'cron_run' => false ]
-
Mettez à jour la configuration.
code language-bash bin/magento app:config:import
-
Enfin,
kill
tous les processus consommateurs actifs.code language-bash kill <PID>
Où
PID
est l’ID du processus à interrompre, par exemple :code language-bash kill 1234
-
Extrayez le code du contrôle de code source.
code language-bash git pull mconfig m2.2_deploy
-
Mettez à jour la configuration.
code language-bash bin/magento app:config:import
-
Nettoyez le cache.
code language-bash bin/magento cache:clean
-
Terminez le mode de maintenance.
code language-bash bin/magento maintenance:disable
Vérification des paramètres de configuration dans l’Administration
Pour vérifier les paramètres de configuration :
-
Connectez-vous à l’administrateur de votre système d’exploitation.
-
Cliquez sur Magasins > Paramètres > Configuration > Général > Général.
-
Utilisez la liste Affichage de la boutique 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 manière suivante.
note info INFO Le champ Nom de la boutique est modifiable dans la portée du site web, mais si vous passez à la portée Configuration par défaut, il n’est pas modifiable. C’est le résultat de la manière dont vous définissez les 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. -
Si vous ne l’avez pas déjà fait, passez à la portée Configuration par défaut .
-
Dans le volet de navigation de gauche, sous Général, cliquez sur Contacts.
Le champ Envoyer des e-mails à n’est pas modifiable, comme le montre la figure suivante. Il s’agit d’un contexte sensible.
-
Dans le volet de gauche, cliquez sur Clients > Configuration du client.
-
Dans le volet de droite, développez Options de création de compte.
La valeur du champ Domaine d’e-mail par défaut s’affiche comme suit. Il s’agit d’un paramètre spécifique au système.