Exempel med CLI-kommandon
I det här exemplet visas hur du ställer in delade, systemspecifika och känsliga värden i utvecklingssystemet och sedan distribuerar dessa värden till produktionssystemet.
Detta görs genom att använda en kombination av delade konfigurationer, filen config.php
och Commerce CLI-kommandot.
I det här exemplet används följande konfigurationsinställningar:
-
Vat Number och Store Name för de delade konfigurationsinställningarna.
Dessa finns under Lager > Inställningar > Konfiguration > Allmänt > Allmänt.
-
Skicka e-post till för det känsliga konfigurationsvärdet.
Detta finns under Lager > Inställningar > Konfiguration > Allmänt > Kontakter.
-
Standarddomän för e-post för det systemspecifika konfigurationsvärdet.
Detta hittar du under Lager > Inställningar > Konfiguration > Kunder > Kundkonfiguration > Skapa nya kontoalternativ.
Du kan använda samma procedur som i det här exemplet för att konfigurera inställningar i följande referenser:
Innan du börjar
Konfigurera filsystembehörigheter och ägarskap enligt beskrivningen i Krav för utvecklings-, bygg- och produktionssystem innan du börjar.
Antaganden
Det här avsnittet innehåller ett exempel på hur du ändrar konfigurationen av produktionssystemet. Du kan välja olika konfigurationsalternativ om du vill.
I det här exemplet förutsätts följande:
- Du använder Git-källkontrollen
- Utvecklingssystemet är tillgängligt i en Git-fjärrdatabas med namnet
mconfig
- Din Git-arbetsgrupp heter
m2.2_deploy
Steg 1: Ange konfigurationen i utvecklingssystemet
Så här anger du standardinställningar för nationella inställningar och viktenheter i utvecklingssystemet:
-
Logga in på Admin.
-
Klicka på Lagrar > Inställningar > Konfiguration > Allmänt > Allmänt.
-
Om du har fler än en webbplats tillgänglig kan du använda listan Butiksvy i det övre vänstra hörnet för att växla till en annan webbplats som på bilden nedan.
-
Expandera Lagra information i den högra rutan.
-
Om det behövs avmarkerar du kryssrutan Använd standard bredvid fälten Momsnummer och Butiksnamn.
-
Ange ett tal i fältet (till exempel
12345
). -
Ange ett värde (till exempel
My Store
) i fältet Butiksnamn. -
Klicka på Spara konfiguration.
-
Klicka på Kontakter under Allmänt i den vänstra navigeringen.
-
Expandera E-postalternativ i den högra rutan.
-
Om det behövs avmarkerar du kryssrutan Använd standard bredvid fältet Skicka e-post till.
-
Ange en e-postadress i fältet.
-
Klicka på Spara konfiguration.
-
Använd listan Butiksvy för att välja Standardkonfiguration enligt bilden nedan.
-
Klicka på Kunder > Kundkonfiguration i den vänstra rutan.
-
Expandera Skapa nya kontoalternativ i den högra rutan.
-
Om det behövs avmarkerar du kryssrutan Använd systemvärde bredvid fältet Standarddomän för e-post.
-
Ange ett domännamn i fältet.
-
Klicka på Spara konfiguration.
-
Rensa cachen om du uppmanas till det.
Steg 2: Uppdatera konfigurationen
Nu när du har ändrat konfigurationen i Admin skriver du den delade konfigurationen till en fil enligt följande:
Så här uppdaterar du konfigurationen:
-
Logga in på utvecklingssystemet som ägare av filsystemet eller växla till det.
-
Byt till programroten och kör kommandot dump.
code language-bash cd <Magento root dir> php bin/magento app:config:dump
Om Commerce till exempel är installerat i
/var/www/html/magento2
anger du:code language-bash cd /var/www/html/magento2 php bin/magento app:config:dump
-
Bekräfta att
app/etc/config.php
har uppdaterats.code language-bash git status
Exempelsvar:
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 Skicka inte ändringar i katalogerna generated
,pub/media
ellerpub/static
till källkontrollen. Du genererar dessa filer i ditt byggsystem. Utvecklingssystemet har förmodligen kod, teman och så vidare som inte är klara att användas i produktionssystemet. -
Checka endast in dina ändringar i
app/etc/config.php
för källkontroll.code language-bash git add app/etc/config.php && git commit -m "Updated shared configuration" && git push mconfig m2.2_deploy
Även om app/etc/env.php
(den systemspecifika konfigurationen) har uppdaterats, ska du inte checka in den i källkontrollen.
Du kommer att skapa samma konfigurationsinställningar i produktionssystemet senare under den här proceduren.
Steg 3: Uppdatera ditt byggsystem och generera filer
Nu när du har implementerat ändringarna i den delade konfigurationen för källkontroll kan du överföra dessa ändringar till ditt build-system, kompilera koden och generera statiska filer.
Så här uppdaterar du byggsystemet:
-
Logga in på byggsystemet som ägare av filsystemet.
-
Byt till programmets rotkatalog.
code language-bash cd <Magento root dir>
-
Dra in ändringarna i
app/etc/config.php
från källkontrollen.code language-bash git pull mconfig m2.2_deploy
-
Kompilera kod.
code language-bash bin/magento setup:di:compile
-
Generera statiska vyfiler när koden har kompilerats.
code language-bash bin/magento setup:static-content:deploy -f
-
Kontrollera ändringarna i källkontrollen.
code language-bash git add -A && git commit -m "Updated files on build system" && git push mconfig m2.2_deploy
Steg 4: Uppdatera produktionssystemet
Det sista steget i processen är att uppdatera produktionssystemet. Du måste göra det i två delar:
- Uppdatera känsliga och systemspecifika inställningar
- Uppdatera de delade inställningarna
Uppdatera känsliga och systemspecifika inställningar
Om du vill ange känsliga och systemspecifika inställningar med hjälp av systemvariabler måste du känna till följande:
-
Omfång för varje inställning
Om du följde instruktionerna i steg 1 är omfattningen för Skicka e-post till en webbplats och omfattningen för Standarddomän för e-post är global (d.v.s. standardkonfigurationsomfånget).
Du behöver webbplatskoden för att ange konfigurationsvärdet Skicka e-post till.
Mer information om hur du hittar det här värdet finns i: Använd miljövariabler för att åsidosätta konfigurationsinställningar.
-
Konfigurationssökvägar för inställningarna som används i det här exemplet:
table 0-row-2 1-row-2 2-row-2 Inställningsnamn Konfigurationssökväg Skicka e-post till contact/email/recipient_email
Standarddomän för e-post customer/create_account/email_domain
Information om alla känsliga och systemspecifika konfigurationssökvägar finns i: Känsliga och systemspecifika konfigurationssökvägar, referens.
Ange variabler med CLI-kommandon
Använd följande CLI-kommandon för att ange systemspecifika och känsliga konfigurationsinställningar:
magento config:set
för systemspecifika inställningarmagento config:sensitive:set
för känsliga inställningar
Använd följande kommando för att ange den systemspecifika inställningen Standarddomän för e-post, som finns i standardomfånget:
bin/magento config:set customer/create_account/email_domain <email domain>
Du behöver inte använda scopet i kommandot eftersom det är standardscopet.
Om du vill ange värden för Skicka e-post till måste du dock känna till omfångstypen (website
) och omfångskoden, som troligtvis är annorlunda på alla webbplatser.
Exempel:
bin/magento config:sensitive:set contact/email/recipient_email --scope=website --scope-code=<website code> <email address>
Uppdatera de delade inställningarna
I det här avsnittet beskrivs hur du kan dra in alla ändringar du har gjort i din utveckling och bygga system till en produktionsmiljö, som uppdaterar de delade konfigurationsinställningarna (Butiksnamn och Momsnummer).
Så här uppdaterar du produktionssystemet:
-
Logga in i produktionssystemet som filsystemsägare.
-
Byt till programroten och aktivera underhållsläge.
code language-bash cd <Magento root dir>
code language-bash bin/magento maintenance:enable
Ytterligare alternativ, som möjligheten att ange en vitlista för IP-adresser, finns i
magento maintenance:enable
. -
Stoppa alla köarbetare som körs genom att ange
cron_run
tillfalse
iapp/etc/env.php
enligt följande:code language-php?start_inline=1 'cron_consumers_runner' => [ 'cron_run' => false ]
-
Uppdatera konfigurationen.
code language-bash bin/magento app:config:import
-
Slutligen
kill
alla aktiva konsumentprocesser.code language-bash kill <PID>
Där
PID
är process-ID:t som ska dödas, till exempel:code language-bash kill 1234
-
Dra in kod från källkontrollen.
code language-bash git pull mconfig m2.2_deploy
-
Uppdatera konfigurationen.
code language-bash bin/magento app:config:import
-
Rensa cachen.
code language-bash bin/magento cache:clean
-
Avsluta underhållsläge.
code language-bash bin/magento maintenance:disable
Verifiera konfigurationsinställningar i administratören
Så här verifierar du konfigurationsinställningarna:
-
Logga in i produktionssystemets administratör.
-
Klicka på Lagrar > Inställningar > Konfiguration > Allmänt > Allmänt.
-
Använd listan Butiksvy i det övre vänstra hörnet för att växla till en annan webbplats.
De alternativ för delad konfiguration som du anger i utvecklingssystemet visas på liknande sätt som följande.
note info INFO Fältet Butiksnamn kan redigeras i webbplatsomfånget, men om du växlar till standardomfånget för konfiguration går det inte att redigera det. Detta är resultatet av hur du anger alternativen i utvecklingssystemet. Värdet VAT Number kan inte redigeras i webbplatsomfånget. -
Om du inte redan har gjort det växlar du till Standardkonfigurationsomfång.
-
Klicka på Kontakter under Allmänt i den vänstra navigeringen.
Fältet Skicka e-post till kan inte redigeras, vilket visas i bilden nedan. Det här är en känslig inställning.
-
Klicka på Kunder > Kundkonfiguration i den vänstra rutan.
-
Expandera Skapa nya kontoalternativ i den högra rutan.
Värdet i fältet Standarddomän för e-post visas enligt följande. Detta är en systemspecifik inställning.