Beispiel mit CLI-Befehlen

In diesem Beispiel wird gezeigt, wie Sie in Ihrem Entwicklungssystem gemeinsame, systemspezifische und sensible Werte festlegen und diese Werte dann in Ihrem Produktionssystem bereitstellen.
Dies geschieht mithilfe einer Kombination aus freigegebenen Konfigurationen, der Datei config.php und dem Commerce-CLI-Befehl.

In diesem Beispiel werden die folgenden Konfigurationseinstellungen verwendet:

  • Umsatzanzahl und Speichername für die freigegebenen Konfigurationseinstellungen.

    Diese befinden sich unter Stores > Einstellungen > Konfiguration > Allgemein > Allgemein.

  • E-Mails an senden für den sensiblen Konfigurationswert.

    Dies befindet sich unter Stores > Einstellungen > Konfiguration > Allgemein > Kontakte.

  • Standard-E-Mail-Domäne für den systemspezifischen Konfigurationswert.

    Diese finden Sie unter Stores > Einstellungen > Konfiguration > Kunden > Kundenkonfiguration > Neue Kontooptionen erstellen.

Sie können das gleiche Verfahren wie in diesem Beispiel verwenden, um Einstellungen in den folgenden Referenzen zu konfigurieren:

Bevor Sie beginnen

Richten Sie zunächst Dateisystemberechtigungen und -eigentum ein, wie unter Voraussetzung für Entwicklungs-, Build- und Produktionssysteme beschrieben.

Annahmen

Dieses Thema enthält ein Beispiel für die Änderung der Konfiguration des Produktionssystems. Sie können bei Bedarf verschiedene Konfigurationsoptionen auswählen.

Für die Zwecke dieses Beispiels gehen wir von Folgendem aus:

  • Verwenden Sie die Git-Quellsteuerung.
  • Das Entwicklungssystem ist in einem Git-Remote-Repository mit dem Namen mconfig verfügbar
  • Ihre Git-Arbeitsverzweigung heißt m2.2_deploy

Schritt 1: Konfiguration im Entwicklungssystem festlegen

So legen Sie die standardmäßige Gebietsschema- und Gewichtseinheiten in Ihrem Entwicklungssystem fest:

  1. Melden Sie sich beim Administrator an.

  2. Klicken Sie auf Stores > Einstellungen > Konfiguration > Allgemein > Allgemein.

  3. Wenn mehr als eine Website verfügbar ist, verwenden Sie die Liste Store-Ansicht oben links, um zu einer anderen Website zu wechseln, wie in der folgenden Abbildung dargestellt.

    Websites wechseln

  4. Erweitern Sie im rechten Bereich den Eintrag Store Information.

  5. Deaktivieren Sie bei Bedarf das Kontrollkästchen Use Default neben den Feldern VAT Number und Store Name .

  6. Geben Sie eine Zahl in das Feld ein (z. B. 12345).

  7. Geben Sie im Feld Speichername einen Wert ein (z. B. My Store).

  8. Klicken Sie auf Konfiguration speichern.

  9. Klicken Sie im linken Navigationsbereich unter "General"auf Contacts.

  10. Erweitern Sie im rechten Bereich E-Mail-Optionen.

  11. Deaktivieren Sie bei Bedarf das Kontrollkästchen Standard verwenden neben dem Feld E-Mails an senden .

  12. Geben Sie eine E-Mail-Adresse in das Feld ein.

  13. Klicken Sie auf Konfiguration speichern.

  14. Verwenden Sie die Liste Store-Ansicht , um die Standardkonfiguration auszuwählen, wie in der folgenden Abbildung dargestellt.

    Wechseln Sie zur Standardkonfiguration

  15. Klicken Sie im linken Bereich auf Customers > Kundenkonfiguration.

  16. Erweitern Sie im rechten Bereich Neue Kontooptionen erstellen.

  17. Deaktivieren Sie bei Bedarf das Kontrollkästchen Systemwert verwenden neben dem Feld E-Mail-Standarddomäne .

  18. Geben Sie einen Domänennamen in das Feld ein.

  19. Klicken Sie auf Konfiguration speichern.

  20. Wenn Sie dazu aufgefordert werden, leeren Sie den Cache.

Schritt 2: Konfiguration aktualisieren

Nachdem Sie die Konfiguration in Admin geändert haben, schreiben Sie die freigegebene Konfiguration wie folgt in eine Datei:

So aktualisieren Sie die Konfiguration:

  1. Melden Sie sich bei Ihrem Entwicklungssystem als Eigentümer des Dateisystems an oder wechseln Sie zu ihm.

  2. Wechseln Sie zum Stammverzeichnis der Anwendung und führen Sie den Befehl dump aus.

    code language-bash
    cd <Magento root dir>
    php bin/magento app:config:dump
    

    Wenn beispielsweise Commerce in /var/www/html/magento2 installiert ist, geben Sie Folgendes ein:

    code language-bash
    cd /var/www/html/magento2
    php bin/magento app:config:dump
    
  3. Bestätigen Sie, dass app/etc/config.php aktualisiert wurde.

    code language-bash
    git status
    

    Beispielantwort:

    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
    Übermitteln Sie nicht Änderungen an den Verzeichnissen generated, pub/media oder pub/static an die Quell-Code-Verwaltung. Sie generieren diese Dateien auf Ihrem Build-System. Das Entwicklungssystem verfügt wahrscheinlich über Code, Designs usw., die nicht für die Verwendung im Produktionssystem bereit sind.
  4. Checken Sie Ihre Änderungen an app/etc/config.php nur für die Quell-Code-Verwaltung ein.

    code language-bash
    git add app/etc/config.php && git commit -m "Updated shared configuration" && git push mconfig m2.2_deploy
    

Obwohl app/etc/env.php (die systemspezifische Konfiguration) aktualisiert wurde, checken Sie es nicht in die Quell-Code-Verwaltung ein.
Sie werden später in diesem Verfahren dieselben Konfigurationseinstellungen für Ihr Produktionssystem erstellen.

Schritt 3: Aktualisieren Sie Ihr Build-System und generieren Sie Dateien.

Nachdem Sie Ihre Änderungen an der freigegebenen Konfiguration an die Quell-Code-Verwaltung übertragen haben, können Sie diese Änderungen in Ihr Build-System übernehmen, den Code kompilieren und statische Dateien generieren.

So aktualisieren Sie das Build-System:

  1. Melden Sie sich beim Build-System als Eigentümer des Dateisystems an.

  2. Wechseln Sie zum Stammverzeichnis der Anwendung.

    code language-bash
    cd <Magento root dir>
    
  3. Ziehen Sie die Änderungen an app/etc/config.php aus der Quell-Code-Verwaltung.

    code language-bash
    git pull mconfig m2.2_deploy
    
  4. Kompilieren Sie den Code.

    code language-bash
    bin/magento setup:di:compile
    
  5. Nachdem der Code kompiliert wurde, generieren Sie statische Ansichtsdateien.

    code language-bash
    bin/magento setup:static-content:deploy -f
    
  6. Überprüfen Sie die Änderungen in der Quell-Code-Verwaltung.

    code language-bash
    git add -A && git commit -m "Updated files on build system" && git push mconfig m2.2_deploy
    

Schritt 4: Produktionssystem aktualisieren

Der letzte Schritt im Prozess besteht darin, Ihr Produktionssystem zu aktualisieren. Sie müssen dies in zwei Teilen tun:

  • Aktualisieren der sensiblen und systemspezifischen Einstellungen
  • Aktualisieren der freigegebenen Einstellungen

Aktualisieren der sensiblen und systemspezifischen Einstellungen

Um die sensiblen und systemspezifischen Einstellungen mithilfe von Umgebungsvariablen festzulegen, müssen Sie Folgendes wissen:

  • Umfang der einzelnen Einstellungen

    Wenn Sie die Anweisungen in Schritt 1 befolgt haben, ist der Bereich für "E-Mails senden an"Website und der Bereich für "Standard-E-Mail-Domäne"ist global (d. h. der standardmäßige Konfigurationsbereich).

    Sie benötigen den Website-Code, um den Konfigurationswert E-Mails an senden festzulegen.

    Weitere Informationen zum Auffinden dieses Werts finden Sie unter: Umgebungsvariablen zum Außerkraftsetzen von Konfigurationseinstellungen verwenden.

  • Konfigurationspfade für die in diesem Beispiel verwendeten Einstellungen:

    table 0-row-2 1-row-2 2-row-2
    Einstellungsname Konfigurationspfad
    E-Mails an senden contact/email/recipient_email
    Standard-E-Mail-Domain customer/create_account/email_domain

    Informationen zu allen sensiblen und systemspezifischen Konfigurationspfaden finden Sie unter: Referenz zu vertraulichen und systemspezifischen Konfigurationspfaden.

Variablen mithilfe von CLI-Befehlen festlegen

Verwenden Sie die folgenden CLI-Befehle, um systemspezifische und vertrauliche Konfigurationseinstellungen festzulegen:

  • magento config:set für systemspezifische Einstellungen
  • magento config:sensitive:set für sensible Einstellungen

Verwenden Sie den folgenden Befehl, um die systemspezifische Einstellung Standard-E-Mail-Domäne festzulegen, die sich im Standardbereich befindet:

bin/magento config:set customer/create_account/email_domain <email domain>

Sie müssen den Bereich im -Befehl nicht verwenden, da es sich um den Standardbereich handelt.

Um Werte für E-Mails an senden festzulegen, müssen Sie jedoch den Perimeter-Typ (website) und den Perimeter-Code kennen, der sich wahrscheinlich auf jeder Site unterscheidet.

Beispiel:

bin/magento config:sensitive:set contact/email/recipient_email --scope=website --scope-code=<website code> <email address>

Aktualisieren der freigegebenen Einstellungen

In diesem Abschnitt wird beschrieben, wie Sie alle Änderungen, die Sie an Ihren Entwicklungs- und Build-Systemen vorgenommen haben, in eine Produktionsumgebung ziehen, wodurch die freigegebenen Konfigurationseinstellungen (Store Name und VAT Number) aktualisiert werden.

So aktualisieren Sie das Produktionssystem:

  1. Melden Sie sich beim Produktionssystem als Eigentümer des Dateisystems an.

  2. Wechseln Sie zum Stammverzeichnis der Anwendung und aktivieren Sie den Wartungsmodus.

    code language-bash
    cd <Magento root dir>
    
    code language-bash
    bin/magento maintenance:enable
    

    Weitere Optionen, wie die Möglichkeit, eine IP-Adressen-Whitelist festzulegen, finden Sie unter magento maintenance:enable.

  3. Beenden Sie laufende Warteschlangenarbeitskräfte, indem Sie cron_run wie folgt in app/etc/env.php auf false setzen:

    code language-php?start_inline=1
    'cron_consumers_runner' => [
            'cron_run' => false
        ]
    
  4. Aktualisieren Sie die Konfiguration.

    code language-bash
    bin/magento app:config:import
    
  5. Schließlich kill alle aktiven Verbraucherprozesse.

    code language-bash
    kill <PID>
    

    Wobei PID die Prozess-ID ist, die beendet werden soll, z. B.:

    code language-bash
    kill 1234
    
  6. Rufen Sie Code aus der Quell-Code-Verwaltung ab.

    code language-bash
    git pull mconfig m2.2_deploy
    
  7. Aktualisieren Sie die Konfiguration.

    code language-bash
    bin/magento app:config:import
    
  8. Bereinigen Sie den Cache.

    code language-bash
    bin/magento cache:clean
    
  9. Wartungsmodus beenden.

    code language-bash
    bin/magento maintenance:disable
    

Konfigurationseinstellungen in der Admin-Konsole überprüfen

Überprüfen der Konfigurationseinstellungen:

  1. Melden Sie sich beim Administrator Ihres Produktionssystems an.

  2. Klicken Sie auf Stores > Einstellungen > Konfiguration > Allgemein > Allgemein.

  3. Verwenden Sie die Liste Store-Ansicht oben links, um zu einer anderen Website zu wechseln.

    Die freigegebenen Konfigurationsoptionen, die Sie im Entwicklungssystem festlegen, werden ähnlich wie die folgenden angezeigt.

    Einstellungen im Produktionssystem überprüfen

    note info
    INFO
    Das Feld Speichername kann im Website-Bereich bearbeitet werden. Wenn Sie jedoch zum Bereich "Standardkonfiguration"wechseln, ist es nicht bearbeitbar. Dies ist das Ergebnis der Festlegung der Optionen im Entwicklungssystem. Der Wert von MwSt.-Nummer kann im Website-Bereich nicht bearbeitet werden.
  4. Wechseln Sie, falls noch nicht geschehen, zum Bereich Standardkonfiguration .

  5. Klicken Sie im linken Navigationsbereich unter "General"auf Contacts.

    Das Feld E-Mails an senden kann nicht bearbeitet werden, wie in der folgenden Abbildung dargestellt. Dies ist eine sensible Einstellung.

    Einstellungen im Produktionssystem überprüfen

  6. Klicken Sie im linken Bereich auf Customers > Kundenkonfiguration.

  7. Erweitern Sie im rechten Bereich Neue Kontooptionen erstellen.

    Der Wert des Felds Standard-E-Mail-Domäne wird wie folgt angezeigt: Dies ist eine systemspezifische Einstellung.

    Einstellungen im Produktionssystem überprüfen

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