Voorbeeld met omgevingsvariabelen
In dit voorbeeld wordt getoond hoe u gedeelde, systeemspecifieke en gevoelige waarden in uw ontwikkelingssysteem instelt en vervolgens alle waarden in uw productiesysteem instelt met behulp van een combinatie van de gedeelde configuratie, config.php
en PHP-omgevingsvariabelen.
Deze configuratie-instellingen kunnen worden gedeeld tussen de ontwikkelings- en productiesystemen:
Het Aantal van BTW en de Naam van de Opslag van Slaat > Montages > Configuratie > Algemeen > Algemeen
Deze configuratie-instellingen zijn systeemspecifiek of gevoelig, zoals aangegeven:
- Verzend E-mail naar (gevoelig) van Sporen > Montages > Configuratie > Algemeen > Contacten
- Het standaard E-maildomein (systeem-specifiek) van Slaat > Montages > Configuratie > Klanten > Configuratie van de Klant > creeer Nieuwe Opties van de Rekening
U kunt de zelfde procedure gebruiken om het even welke montages in de volgende verwijzingen te vormen:
Voordat u begint
Alvorens u begint, de toestemmingen en de eigendom van het opstellingssysteem zoals besproken in Vereiste voor ontwikkeling, bouwt, en productiesystemen.
Veronderstellingen
Dit onderwerp verstrekt een voorbeeld om de configuratie van het productiesysteem te wijzigen. U kunt desgewenst verschillende configuratieopties kiezen.
In dit voorbeeld gaan we uit van het volgende:
- U gebruikt Git-bronbesturingselement
- Het ontwikkelingssysteem is beschikbaar in een Git-opslagplaats op afstand met de naam
mconfig
- Uw Git-werkvertakking krijgt de naam
m2.2_deploy
Stap 1: Plaats de configuratie in het ontwikkelingssysteem
U kunt als volgt de standaardwaarden voor landinstelling en gewicht in uw ontwikkelingssysteem instellen:
-
Meld u aan bij de beheerder.
-
Klik Slaat op > Montages > Configuratie > Algemeen > Algemeen.
-
Als u meer dan één beschikbare website hebt, gebruik de lijst van de Mening van de Opslag in de hogere linkerhoek om naar een verschillende website te schakelen aangezien het volgende cijfer toont.
-
In de juiste ruit, breid Informatie van de Opslag uit.
-
Indien nodig, ontruim het Gebrek van het Gebruik checkbox naast het gebied van het Aantal van BTW.
-
Voer een getal in het veld in (bijvoorbeeld
12345
). -
Op het gebied van de Naam van de Opslag, ga een waarde (als
My Store
) in. -
Klik sparen Config.
-
Gebruik de lijst van de Mening van de Opslag om StandaardConfig te selecteren aangezien het volgende cijfer toont.
-
In de linkernavigatie, onder Algemeen, klik Contacten.
-
Ontruim het Standaardvakje van het Gebruik naast verzendt E-mail naar gebied.
-
Voer een e-mailadres in het veld in.
-
Klik sparen Config.
-
In de linkerruit, klik Klanten > Configuratie van de Klant.
-
In de juiste ruit, breid uit tot Nieuwe Opties van de Rekening.
-
Wis het checkbox van de systeemwaarde van het Gebruik naast het Standaard e-mailgebied gebied.
-
Voer een domeinnaam in het veld in.
-
Klik sparen Config.
-
Maak de cache leeg als daarom wordt gevraagd.
Stap 2: Werk de configuratie bij
Nu u de configuratie in Admin hebt veranderd, schrijf de gedeelde configuratie aan een dossier zoals die in deze sectie wordt besproken.
om de configuratie bij te werken:
-
Meld u aan bij uw ontwikkelsysteem als of schakel over naar de eigenaar van het bestandssysteem.
-
Verandering in de toepassingswortel en stel het dumpbevel in werking.
code language-bash cd <Magento root dir> php bin/magento app:config:dump
Als Commerce bijvoorbeeld is geïnstalleerd in
/var/www/html/magento2
, voert u het volgende in:code language-bash cd /var/www/html/magento2 php bin/magento app:config:dump
-
Controleer of
app/etc/config.php
is bijgewerkt.code language-bash git status
Monsterrespons:
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 Verzend __ geen veranderingen in generated
,pub/media
, ofpub/static
folders aan broncontrole. U genereert deze bestanden op uw buildsysteem. Het ontwikkelingssysteem heeft waarschijnlijk code, thema's, enzovoort, die niet klaar zijn voor gebruik op het productiesysteem. -
Controleer uw wijzigingen in
app/etc/config.php
alleen om broncontrole te verkrijgen.code language-bash git add app/etc/config.php && git commit -m "Updated shared configuration" && git push mconfig m2.2_deploy
Merk op dat alhoewel app/etc/env.php
(de systeem-specifieke configuratie) werd bijgewerkt, het niet aan broncontrole controleert. U zult de zelfde configuratiemontages op uw productiesysteem later in deze procedure tot stand brengen.
Stap 3: Werk uw bouwstijlsysteem bij en produceer dossiers
Nu u uw veranderingen in de gedeelde configuratie aan broncontrole hebt geëngageerd, kunt u die veranderingen in uw bouwstijlsysteem trekken, code compileren, en statische dossiers produceren. De laatste stap is om die veranderingen in uw productiesysteem te trekken.
om het bouwstijlsysteem bij te werken:
-
Meld u aan bij het constructiesysteem als de eigenaar van het bestandssysteem.
-
Wijzig de hoofdmap van de toepassing.
code language-bash cd <Magento root dir>
-
Trek de wijzigingen in
app/etc/config.php
van het bronbesturingselement.code language-bash git pull mconfig m2.2_deploy
-
Compileer code.
code language-bash bin/magento setup:di:compile
-
Nadat de code is gecompileerd, produceer statische meningsdossiers.
code language-bash bin/magento setup:static-content:deploy -f
-
Controleer de veranderingen in broncontrole.
code language-bash git add -A && git commit -m "Updated files on build system" && git push mconfig m2.2_deploy
Stap 4: Productiesysteem bijwerken
De laatste stap in het proces is het bijwerken van uw productiesysteem. U moet het in twee delen doen:
- De gevoelige en systeemspecifieke instellingen bijwerken
- De gedeelde instellingen bijwerken
De gevoelige en systeemspecifieke instellingen bijwerken
Als u de gevoelige en systeemspecifieke instellingen wilt instellen met omgevingsvariabelen, moet u het volgende weten:
-
Bereik voor elke instelling
Als u de instructies in Stap 1 volgde, is het werkingsgebied voor het verzenden van e-mails naar globaal (namelijk het werkingsgebied Standaard Config) en het werkingsgebied voor Standaard e-maildomein is website.
U moet de code van de website kennen om de configuratiewaarde van het StandaardE-maildomein te plaatsen. Zie het omgevingsvariabelen van het Gebruik om configuratiemontagesvoor meer informatie met voeten te treden bij het vinden van het.
-
Configuratiepad voor elke instelling
De configuratiepaden in dit voorbeeld zijn als volgt:
table 0-row-2 1-row-2 2-row-2 Naam instellen Configuratiepad E-mails verzenden naar contact/email/recipient_email
Standaard-e-maildomein customer/create_account/email_domain
U kunt alle gevoelige en systeem-specifieke configuratiewegen in Gevoelige en systeem-specifieke verwijzing van configuratiepadenvinden.
Configuratiepaden omzetten in variabelenamen
Zoals besproken in het omgevingsvariabelen van het Gebruik om configuratiemontagesmet voeten te treden, is het formaat van variabelen:
<SCOPE>__<SYSTEM__VARIABLE__NAME>
De waarde van <SCOPE>
is CONFIG__DEFAULT__
voor algemeen bereik of CONFIG__WEBSITES__<WEBSITE CODE>
voor websitebereik.
Als u de waarde van <SYSTEM__VARIABLE__NAME>
wilt zoeken, vervangt u elk /
-teken in het configuratiepad door twee onderstrepingstekens.
De variabelenamen zijn als volgt:
contact/email/recipient_email
CONFIG__DEFAULT__CONTACT__EMAIL__RECIPIENT_EMAIL
customer/create_account/email_domain
CONFIG__WEBSITES__BASE__CUSTOMER__CREATE_ACCOUNT__EMAIL_DOMAIN
BASE
, voor de configuratie-instelling Standaard-e-maildomein. Vervang BASE
door de juiste websitecode voor uw winkel.Variabelen instellen met omgevingsvariabelen
U kunt de waarden van de variabelen in de index.php
als volgt instellen:
$_ENV['VARIABLE'] = 'value';
om veranderlijke waarden te plaatsen:
-
Meld u aan bij uw productiesysteem als of schakel over naar de eigenaar van het bestandssysteem.
-
Open
<Commerce root dir>/pub/index.php
in een teksteditor. -
Stel overal in
index.php
waarden in voor de variabelen die op het volgende lijken:code language-php $_ENV['CONFIG__DEFAULT__CONTACT__EMAIL__RECIPIENT_EMAIL'] = 'myname@example.com'; $_ENV['CONFIG__WEBSITES__BASE__CUSTOMER__CREATE_ACCOUNT__EMAIL_DOMAIN'] = 'magento.com';
-
Sla de wijzigingen in
pub/index.php
op en sluit de teksteditor af. -
Ga verder met de volgende sectie.
De gedeelde instellingen bijwerken
In deze sectie wordt besproken hoe u alle wijzigingen die u hebt aangebracht in uw ontwikkelings- en buildsystemen kunt doorvoeren. Hiermee worden de gedeelde configuratie-instellingen (Winkelnaam en BTW-nummer) bijgewerkt.
om het productiesysteem bij te werken:
-
Meld u als eigenaar van het bestandssysteem aan bij het productiesysteem.
-
Schakel over naar de hoofdmap van de toepassing en schakel de onderhoudsmodus in.
code language-bash cd <Magento root dir>
code language-bash bin/magento maintenance:enable
Zie
magento maintenance:enable
voor extra opties, zoals de mogelijkheid om een IP-adreslijst in te stellen. -
Stop alle actieve workers in de wachtrij door
cron_run
als volgt in te stellen opfalse
inapp/etc/env.php
:code language-php?start_inline=1 'cron_consumers_runner' => [ 'cron_run' => false ]
-
Werk de configuratie bij.
code language-bash bin/magento app:config:import
-
Tot slot
kill
alle actieve consumentenprocessen.code language-bash kill <PID>
Waar
PID
de proces-id is die moet worden gedood, bijvoorbeeld:code language-bash kill 1234
-
Trek code van broncontrole.
code language-bash git pull mconfig m2.2_deploy
-
Werk de configuratie bij.
code language-bash bin/magento app:config:import
-
Maak de cache leeg.
code language-bash bin/magento cache:clean
-
Eindonderhoudsmodus.
code language-bash bin/magento maintenance:disable
Configuratie-instellingen controleren in de beheerder
Deze sectie bespreekt hoe u de configuratiemontages in uw Admin van het productiesysteem kunt verifiëren.
om de configuratiemontages te verifiëren:
-
Meld u aan bij de beheerder van het productiesysteem.
-
Klik Slaat op > Montages > Configuratie > Algemeen > Algemeen.
-
Gebruik de lijst van de Mening van de Opslag in de hogere linkerhoek om aan een verschillende website over te schakelen.
De gedeelde configuratieopties die u in het ontwikkelingssysteem instelt, worden als volgt weergegeven.
note info INFO Het gebied van de Naam van de Opslag is editable in het websitewerkingsgebied maar als u op het Gebrek Config schakelt, is het niet editable. Dit is het resultaat van hoe u de opties in het ontwikkelingssysteem plaatst. De waarde van het Aantal van BTW is niet editable in websitewerkingsgebied. -
Als u dit nog niet hebt gedaan, schakelaar aan het werkingsgebied Standaard Config.
-
In de linkernavigatie, onder Algemeen, klik Contacten.
verzendt E-mail naar gebied is niet editable, aangezien het volgende cijfer toont. Dit is een gevoelige instelling.
-
In de linkerruit, klik Klanten > Configuratie van de Klant.
-
In de juiste ruit, breid uit tot Nieuwe Opties van de Rekening.
De waarde van het StandaardE-mailDomein gebied wordt getoond als volgt. Dit is een systeemspecifieke instelling.