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:

  1. Meld u aan bij de beheerder.

  2. Klik Slaat op > Montages > Configuratie > Algemeen > Algemeen.

  3. 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.

    de websites van de Schakelaar

  4. In de juiste ruit, breid Informatie van de Opslag uit.

  5. Indien nodig, ontruim het Gebrek van het Gebruik checkbox naast het ​gebied van het Aantal van BTW.

  6. Voer een getal in het veld in (bijvoorbeeld 12345 ).

  7. Op het gebied van de Naam van de Opslag, ga een waarde (als My Store) in.

  8. Klik sparen Config.

  9. Gebruik de lijst van de Mening van de Opslag om StandaardConfig te selecteren aangezien het volgende cijfer toont.

    Schakelaar aan het gebrek config

  10. In de linkernavigatie, onder Algemeen, klik Contacten.

  11. Ontruim het Standaardvakje van het Gebruik naast verzendt E-mail naar gebied.

  12. Voer een e-mailadres in het veld in.

  13. Klik sparen Config.

  14. In de linkerruit, klik Klanten > Configuratie van de Klant.

  15. In de juiste ruit, breid uit tot Nieuwe Opties van de Rekening.

  16. Wis het checkbox van de systeemwaarde van het Gebruik naast het Standaard e-mailgebied gebied.

  17. Voer een domeinnaam in het veld in.

  18. Klik sparen Config.

  19. 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:

  1. Meld u aan bij uw ontwikkelsysteem als of schakel over naar de eigenaar van het bestandssysteem.

  2. 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
    
  3. 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, of pub/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.
  4. 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:

  1. Meld u aan bij het constructiesysteem als de eigenaar van het bestandssysteem.

  2. Wijzig de hoofdmap van de toepassing.

    code language-bash
    cd <Magento root dir>
    
  3. Trek de wijzigingen in app/etc/config.php van het bronbesturingselement.

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

    code language-bash
    bin/magento setup:di:compile
    
  5. Nadat de code is gecompileerd, produceer statische meningsdossiers.

    code language-bash
    bin/magento setup:static-content:deploy -f
    
  6. 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:

Naam
Config-pad
Naam variabele
E-mails verzenden naar
contact/email/recipient_email
CONFIG__DEFAULT__CONTACT__EMAIL__RECIPIENT_EMAIL
Standaard-e-maildomein
customer/create_account/email_domain
CONFIG__WEBSITES__BASE__CUSTOMER__CREATE_ACCOUNT__EMAIL_DOMAIN
INFO
De voorgaande tabel heeft een voorbeeldwebsitecode, 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:

  1. Meld u aan bij uw productiesysteem als of schakel over naar de eigenaar van het bestandssysteem.

  2. Open <Commerce root dir>/pub/index.php in een teksteditor.

  3. 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';
    
  4. Sla de wijzigingen in pub/index.php op en sluit de teksteditor af.

  5. 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:

  1. Meld u als eigenaar van het bestandssysteem aan bij het productiesysteem.

  2. 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.

  3. Stop alle actieve workers in de wachtrij door cron_run als volgt in te stellen op false in app/etc/env.php :

    code language-php?start_inline=1
    'cron_consumers_runner' => [
            'cron_run' => false
        ]
    
  4. Werk de configuratie bij.

    code language-bash
    bin/magento app:config:import
    
  5. 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
    
  6. Trek code van broncontrole.

    code language-bash
    git pull mconfig m2.2_deploy
    
  7. Werk de configuratie bij.

    code language-bash
    bin/magento app:config:import
    
  8. Maak de cache leeg.

    code language-bash
    bin/magento cache:clean
    
  9. 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:

  1. Meld u aan bij de beheerder van het productiesysteem.

  2. Klik Slaat op > Montages > Configuratie > Algemeen > Algemeen.

  3. 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.

    de montages van de Controle in het productiesysteem

    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.
  4. Als u dit nog niet hebt gedaan, schakelaar aan het werkingsgebied Standaard Config.

  5. 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.

    de montages van de Controle in het productiesysteem

  6. In de linkerruit, klik Klanten > Configuratie van de Klant.

  7. 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.

    de montages van de Controle in het productiesysteem

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