Teknisk information
Det här avsnittet handlar om teknisk implementeringsinformation om pipeline-distribution i Commerce 2.2 och senare. Förbättringar kan delas in i följande områden:
I det här avsnittet beskrivs även det rekommenderade arbetsflödet för pipeline-distribution och några exempel som hjälper dig förstå hur det fungerar.
Granska Förutsättningarna för ditt utvecklings-, bygg- och produktionssystem innan du börjar.
Konfigurationshantering
Använd följande åsidosättningsschema om du vill synkronisera och underhålla konfigurationen för dina utvecklings- och produktionssystem.
Som diagrammet visar används konfigurationsvärdena i följande ordning:
- Miljövariabler åsidosätter alla andra värden, om de finns.
- Från de delade konfigurationsfilerna
env.php
ochconfig.php
. Värden ienv.php
åsidosätter värden iconfig.php
. - Från värden som lagras i databasen.
- Om det inte finns något värde i någon av dessa källor används standardvärdet eller NULL.
Hantera den delade konfigurationen
Den delade konfigurationen lagras i app/etc/config.php
, som ska vara i källkontrollen.
Ange den delade konfigurationen i Admin i utvecklingssystemet (eller Adobe Commerce i molninfrastruktursystemet integration) och skriv konfigurationen till config.php
med magento app:config:dump
command .
Hantera den systemspecifika konfigurationen
Den systemspecifika konfigurationen lagras i app/etc/env.php
, som inte ska finnas i källkontrollen.
Ange den systemspecifika konfigurationen i Admin i utvecklingssystemet (eller Adobe Commerce i molninfrastruktursintegreringen) och skriv konfigurationen till env.php
med magento app:config:dump
command.
Det här kommandot skriver även känsliga inställningar till env.php
.
Hantera den känsliga konfigurationen
Den känsliga konfigurationen lagras också i app/etc/env.php
.
Du kan hantera den känsliga konfigurationen på något av följande sätt:
- Miljövariabler
- Spara den känsliga konfigurationen i
env.php
i produktionssystemet med hjälp av kommandotmagento config:set:sensitive
Konfigurationsinställningarna är låsta i administratören
Alla konfigurationsinställningar i config.php
eller env.php
är låsta i Admin, vilket innebär att dessa inställningar inte kan ändras i Admin.
Använd kommandot magento config:set
eller magento config:set --lock
om du vill ändra inställningarna i config.php
- eller env.php
-filerna.
Commerce Admin
Admin visar följande beteende i produktionsläge:
-
Du kan inte aktivera eller inaktivera cachetyper i Admin
-
Utvecklarinställningarna är inte tillgängliga (Store > Inställningar > Konfiguration > Avancerat > Utvecklare), inklusive:
-
Minify CSS, JavaScript och HTML
-
Slå samman CSS och JavaScript
-
LESS-kompilering på serversidan eller klientsidan
-
Textbundna översättningar
-
Som tidigare nämnts är alla konfigurationsinställningar i
config.php
ellerenv.php
låsta och kan inte redigeras i administratören. -
Du kan bara ändra administratörens språkområde till språk som används av distribuerade teman
I följande bild visas ett exempel på listan Kontoinställning > Språkinställning för gränssnitt i Admin som endast visar två distribuerade språkinställningar:
-
-
Du kan inte ändra språkkonfigurationer för något omfång med Admin.
Vi rekommenderar att du gör dessa ändringar innan du går över till produktionsläget.
Du kan fortfarande konfigurera språkområdet med hjälp av miljövariabler eller CLI-kommandot
config:set
med sökvägengeneral/locale/code
.
Installera och ta bort cron
I version 2.2 för första gången hjälper vi dig att konfigurera ditt cron-jobb genom att ange magento cron:install
-kommandot. Det här kommandot anger en crontab som användaren som kör kommandot.
Du kan även ta bort crontab med kommandot magento cron:remove
.
Rekommenderat arbetsflöde för pipeline-distribution
I följande diagram visas hur vi rekommenderar att du använder pipeline-distribution för att hantera konfigurationen.
Utvecklingssystem
I utvecklingssystemet gör du konfigurationsändringar i Admin och genererar den delade konfigurationen app/etc/config.php
och den systemspecifika konfigurationen app/etc/env.php
. Kontrollera Commerce-koden och den delade konfigurationen i källkontrollen och skicka den till byggservern.
Du bör också installera tillägg och anpassa Commerce-kod i utvecklingssystemet.
I ditt utvecklingssystem:
-
Ange konfigurationen i Admin.
-
Använd kommandot
magento app:config:dump
för att skriva konfigurationen till filsystemet.app/etc/config.php
är den delade konfigurationen, som innehåller alla inställningar utom, känsliga och systemspecifika inställningar. Den här filen bör vara i källkontroll.app/etc/env.php
är den systemspecifika konfigurationen, som innehåller inställningar som är unika för ett visst system (till exempel värdnamn och portnummer). Filen ska inte finnas i källkontrollen.
-
Lägg till den ändrade koden och den delade konfigurationen i källkontrollen.
-
Om du vill ta bort genererad PHP-kod och statiska resursfiler under utvecklingen kör du följande kommandon:
code language-bash rm -r var/view_preprocessed/* rm -r pub/static/*/* rm -r generated/*/*
När du har kört kommandona för att rensa resurserna genererar Commerce arbetsfiler.
.htacces
i mappen generated
eller pub
kan det orsaka problem.Bygg system
Build-systemet kompilerar kod och genererar statiska visningsfiler för teman som är registrerade i Commerce. Den behöver ingen anslutning till Commerce-databasen, den behöver bara Commerce-kodbas.
På ditt byggsystem:
- Dra den delade konfigurationsfilen från källkontrollen.
- Använd kommandot
magento setup:di:compile
för att kompilera kod. - Använd kommandot
magento setup:static-content:deploy -f
för att uppdatera statiska filvisningsfiler. - Kontrollera uppdateringarna i källkontrollen.
Produktionssystem
I produktionssystemet (dvs. i livebutiken) hämtar du genererade resurser och koduppdateringar från källkontrollen och anger systemspecifika och känsliga konfigurationsinställningar med kommandoraden eller miljövariablerna.
I produktionssystemet:
- Starta underhållsläge.
- Hämta kod- och konfigurationsuppdateringar från källkontrollen.
- Om du använder Adobe Commerce ska du stoppa köarbetarna.
- Använd kommandot
magento app:config:import
om du vill importera konfigurationsändringar i produktionssystemet. - Om du har installerat komponenter som ändrat databasschemat kör du
magento setup:upgrade --keep-generated
för att uppdatera databasschemat och data och bevarar genererade statiska filer. - Om du vill ange systemspecifika inställningar använder du kommandot
magento config:set
eller miljövariablerna. - Om du vill ange känsliga inställningar använder du kommandot
magento config:sensitive:set
eller miljövariablerna. - Rengör (kallas även flush) cachen.
- Avsluta underhållsläge.
Konfigurationshanteringskommandon
Vi tillhandahåller följande kommandon som hjälper dig att hantera konfigurationen:
-
magento app:config:dump
för att skriva administratörskonfigurationsinställningar tillconfig.php
ochenv.php
(förutom för känsliga inställningar) -
magento config:set
om du vill ange värden för systemspecifika inställningar i produktionssystemet.Använd det valfria alternativet
--lock
för att låsa alternativet i Admin (d.v.s. göra inställningen icke-redigerbar). Om en inställning redan är låst använder du alternativet--lock
för att ändra inställningen. -
magento config:sensitive:set
om du vill ange värden för känsliga inställningar i produktionssystemet. -
magento app:config:import
om du vill importera konfigurationsändringar frånconfig.php
ochenv.php
till produktionssystemet.
Exempel på konfigurationshantering
I det här avsnittet visas exempel på hur du hanterar konfigurationen så att du kan se hur ändringar görs i config.php
och env.php
.
Ändra standardspråk
I det här avsnittet visas ändringen som gjorts i config.php
när du ändrar standardviktenheten med Admin (Lagrar > Inställningar > Konfiguration > Allmänt > Allmänt > Språkalternativ).
När du har gjort ändringen i Admin kör du bin/magento app:config:dump
för att skriva värdet till config.php
. Värdet skrivs till general
-arrayen under locale
, vilket visas i följande utdrag från config.php
:
'general' =>
array (
'locale' =>
array (
'code' => 'en_US',
'timezone' => 'America/Chicago',
'weight_unit' => 'kgs'
)
)
Ändra flera konfigurationsinställningar
I det här avsnittet beskrivs hur du gör följande konfigurationsändringar:
- Lägga till en webbplats-, butik- och butiksvy (Lagrar > Inställningar > Alla butiker)
- Ändra standarddomänen för e-post (Lagrar > Inställningar > Konfiguration > Kunder > Kundkonfiguration)
- Anger användarnamn och API-lösenord för PayPal-API (Lagrar > Inställningar > Konfiguration > Försäljning > Betalningsmetoder > PayPal > Nödvändiga PayPal-inställningar)
När du har gjort ändringen i Admin kör du bin/magento app:config:dump
på utvecklingssystemet. Den här gången skrivs inte alla ändringar till config.php
. Det är faktiskt bara webbplatsvyn, butiksvyn och butiksvyn som skrivs till den filen som följande utdrag visar.
config.php
config.php
innehåller:
- Ändringar av webbplatsen, butiken och butiksvyn.
- Icke-systemspecifika sökmotorinställningar
- Icke-känsliga PayPal-inställningar
- Kommentarer som informerar dig om känsliga inställningar som har utelämnats från
config.php
websites
-matris:
'new' =>
array (
'website_id' => '2',
'code' => 'new',
'name' => 'New website',
'sort_order' => '0',
'default_group_id' => '2',
'is_default' => '0',
),
groups
-matris:
2 =>
array (
'group_id' => '2',
'website_id' => '2',
'code' => 'newstore',
'name' => 'New store',
'root_category_id' => '2',
'default_store_id' => '2',
),
stores
-matris:
'newview' =>
array (
'store_id' => '2',
'code' => 'newview',
'website_id' => '2',
'group_id' => '2',
'name' => 'New store view',
'sort_order' => '0',
'is_active' => '1',
),
payment
-matris:
'payment' =>
array (
'paypal_express' =>
array (
'active' => '0',
'in_context' => '0',
'title' => 'PayPal Express Checkout',
'sort_order' => NULL,
'payment_action' => 'Authorization',
'visible_on_product' => '1',
'visible_on_cart' => '1',
'allowspecific' => '0',
'verify_peer' => '1',
'line_items_enabled' => '1',
'transfer_shipping_options' => '0',
'solution_type' => 'Mark',
'require_billing_address' => '0',
'allow_ba_signup' => 'never',
'skip_order_review_step' => '1',
),
env.php
Standardinställningen för systemspecifik konfiguration för e-postdomän har skrivits till app/etc/env.php
.
PayPal-inställningarna skrivs till ingen av filerna eftersom kommandot bin/magento app:config:dump
inte skriver känsliga inställningar. Du måste ange PayPal-inställningarna i produktionssystemet med följande kommandon:
bin/magento config:sensitive:set paypal/wpp/api_username <username>
bin/magento config:sensitive:set paypal/wpp/api_password <password>