DokumentationCommerceHandbuch zu Commerce für Cloud

Eigenschaften für die Anwendungskonfiguration

Letzte Aktualisierung: 31. Januar 2025
  • Themen:
  • Cloud
  • Build
  • Bereitstellung

Erstellt für:

  • Admin
  • Entwickler

Die .magento.app.yaml-Datei verwendet Eigenschaften, um die Umgebungsunterstützung für das Commerce-Programm zu verwalten.

-NameBeschreibungStandardErforderlich
accessBenutzerrollen anpassen—Nein
cronsSpezifikationen aktualisieren und Cron-Aufträge planen—Nein
dependenciesAktivieren zusätzlicher Abhängigkeitenphp:composer/composer: '2.2.4'Nein
diskDefinieren der Größe der persistenten Festplatte5120Ja
firewall(Nur Starter) Steuern des ausgehenden Traffics—Nein
hooksAnpassen von Shell-Befehlen für die Build-, Bereitstellungs- und Post-Bereitstellungsphase—Nein
mountsPfade festlegen

Pfade:

  • "var": "shared:files/var"
  • "app/etc": "shared:files/etc"
  • "pub/media": "shared:files/media"
  • "pub/static": "shared:files/static"
Nein
nameProgrammnamen definierenmymagentoJa
relationshipsZuordnen von Diensten

Dienste:

  • database: "mysql:mysql"
  • redis: "redis:redis"
  • opensearch: "opensearch:opensearch"
Nein
runtimeDie Laufzeiteigenschaft enthält Erweiterungen, die für die Commerce erforderlich sind.

Erweiterungen:

  • xsl
  • newrelic
  • sodium
Ja
typeFestlegen des Bild-Basis-Containersphp:8.3Ja
variablesAnwenden einer Umgebungsvariablen auf eine bestimmte Commerce-Version—Nein
webExterne Anfragen verarbeiten—Ja
workersExterne Anfragen verarbeiten—Ja, wenn die Web-Eigenschaft nicht verwendet wird

name

Die name-Eigenschaft stellt den Anwendungsnamen bereit, der in der routes.yaml-Datei zum Definieren des Upstreams des HTTP-Codes verwendet wird (standardmäßig mymagento:http). Wenn beispielsweise der Wert von name app ist, müssen Sie app:http im Upstream-Feld verwenden.

WARNING
Ändern Sie den Namen der Anwendung nicht, nachdem sie bereitgestellt wurde. Dies führt zu Datenverlust.

type und build

Die type- und build-Eigenschaften stellen Informationen zum Basis-Container-Image bereit, das zum Erstellen und Ausführen des Projekts erforderlich ist.

Die unterstützte type ist PHP. Geben Sie die PHP-Version wie folgt an:

type: php:<version>

Die build-Eigenschaft bestimmt standardmäßig, was beim Erstellen des Projekts geschieht. Die flavor gibt einen Standardsatz von auszuführenden Build-Aufgaben an. Das folgende Beispiel zeigt die Standardkonfiguration für type und build aus magento-cloud/.magento.app.yaml:

# The toolstack used to build the application.
type: php:8.3
build:
    flavor: none

dependencies:
    php:
        composer/composer: '2.7.2'

Installieren und Verwenden von Composer 2

Die build: flavor:-Eigenschaft wird nicht für Composer 2.x verwendet. Daher müssen Sie Composer während der Build-Phase manuell installieren. Um Composer 2.x in Ihren Starter- und Pro-Projekten zu installieren und zu verwenden, müssen Sie drei Änderungen an Ihrer .magento.app.yaml-Konfiguration vornehmen:

  1. composer als build: flavor: entfernen und none hinzufügen. Diese Änderung verhindert, dass Cloud die standardmäßige Version 1.x von Composer zum Ausführen von Build-Aufgaben verwendet.
  2. Fügen Sie composer/composer: '^2.0' als php Abhängigkeit für die Installation von Composer 2.x hinzu.
  3. Fügen Sie die composer Build-Aufgaben einem build-Hook hinzu, um die Build-Aufgaben mit Composer 2.x auszuführen.

Verwenden Sie die folgenden Konfigurationsfragmente in Ihrer eigenen .magento.app.yaml:

# 1. Change flavor to none.
build:
    flavor: none

# 2. Add Composer ^2.0 as a php dependency.
dependencies:
    php:
        composer/composer: '^2.0'

# 3. Add a build hook to run the build tasks using Composer 2.x.
hooks:
    build: |
        set -e
        composer --no-ansi --no-interaction install --no-progress --prefer-dist --optimize-autoloader

Weitere Informationen Composer finden SieErforderliche Pakete“.

dependencies

Geben Sie Abhängigkeiten an, die Ihre Anwendung möglicherweise während des Build-Prozesses benötigt.

Adobe Commerce unterstützt Abhängigkeiten von den folgenden Sprachen:

  • PHP
  • Rubin
  • Node.js

Diese Abhängigkeiten sind unabhängig von den etwaigen Abhängigkeiten Ihrer Anwendung und in der PATH, während des Build-Prozesses und in der Laufzeitumgebung Ihrer Anwendung verfügbar.

Sie können diese Abhängigkeiten wie folgt angeben:

ruby:
   sass: "~3.4"
nodejs:
   grunt-cli: "~0.3"

runtime

Verwenden Sie , um die PHP-Konfiguration zur Laufzeit zu ändern, z. B. um Erweiterungen zu aktivieren. Die folgenden Erweiterungen sind erforderlich:

runtime:
    extensions:
        - xsl
        - newrelic
        - sodium

Siehe PHP-Einstellungen für Details zum Aktivieren von Erweiterungen.

disk

Definiert die persistente Festplattengröße der Anwendung in MB.

disk: 5120

Die minimal empfohlene Festplattengröße beträgt 256 MB. Wenn der Fehler UserError: Error building the project: Disk size may not be smaller than 128MB angezeigt wird, erhöhen Sie die Größe auf 256 MB.

NOTE
Für Pro-Staging- und Produktionsumgebungen müssen Sie ein Adobe Commerce-Support-Ticket einreichen, um die mounts- und disk für Ihr Programm zu aktualisieren. Geben Sie beim Senden des Tickets die erforderlichen Konfigurationsänderungen an und fügen Sie eine aktualisierte Version Ihrer .magento.app.yaml-Datei hinzu.
Es ist nicht möglich, den Festplattenspeicher in der Staging- oder Produktionsumgebung vorübergehend zu erhöhen. Dieser Vorgang kann nicht rückgängig gemacht werden.

relationships

Definiert die Dienstzuordnung in der Anwendung.

Die name ist für die Anwendung in der MAGENTO_CLOUD_RELATIONSHIPS Umgebungsvariablen verfügbar. Die <service-name>:<endpoint-name> Beziehung ist den in der .magento/services.yaml definierten Werten für Name und Typ zugeordnet.

relationships:
    <name>: "<service-name>:<endpoint-name>"

Im Folgenden finden Sie ein Beispiel für die Standardbeziehungen:

relationships:
    database: "mysql:mysql"
    redis: "redis:redis"
    opensearch: "opensearch:opensearch"
    rabbitmq: "rabbitmq:rabbitmq"

Unter Services finden Sie eine vollständige Liste der derzeit unterstützten Service-Typen und Endpunkte.

mounts

Ein Objekt, dessen Schlüssel Pfade relativ zum Stamm der Anwendung sind. Die Einhängung ist ein beschreibbarer Bereich auf der Festplatte für Dateien. Im Folgenden finden Sie eine standardmäßige Liste der Bereitstellungen, die in der magento.app.yaml-Datei unter Verwendung der volume_id[/subpath]-Syntax konfiguriert wurden:

 # The mounts that will be performed when the package is deployed.
mounts:
    "var": "shared:files/var"
    "app/etc": "shared:files/etc"
    "pub/media": "shared:files/media"
    "pub/static": "shared:files/static"

Das Format für das Hinzufügen Ihres Mount zu dieser Liste ist wie folgt:

"/public/sites/default/files": "shared:files/files"
  • shared - Gibt ein Volume zwischen Ihren Programmen innerhalb einer Umgebung frei.
  • disk () - Definiert die für das freigegebene Volume verfügbare Größe.
NOTE
Für Pro-Staging- und Produktionsumgebungen müssen Sie ein Adobe Commerce-Support-Ticket einreichen, um die mounts- und disk für Ihr Programm zu aktualisieren. Geben Sie beim Senden des Tickets die erforderlichen Konfigurationsänderungen an und fügen Sie eine aktualisierte Version Ihrer .magento.app.yaml-Datei hinzu.

Sie können die Web-Bereitstellung zugänglich machen, indem Sie es zu dem web Block von Standorten hinzufügen.

WARNING
Sobald Ihre Site Daten hat, ändern Sie nicht den subpath Teil des Bereitstellungsnamens. Dieser Wert ist die eindeutige Kennung für den files. Wenn Sie diesen Namen ändern, gehen alle am alten Speicherort gespeicherten Site-Daten verloren.

access

Die Eigenschaft "access" gibt eine minimale Benutzerrollenebene an, die SSH-Zugriff auf die Umgebungen erlaubt. Die verfügbaren Benutzerrollen sind:

  • admin - Kann Einstellungen ändern und Aktionen in der Umgebung ausführen; hat Mitwirkende und Betrachter-Rechte.
  • contributor - Kann Code in diese Umgebung pushen und von der Umgebung aus eine Verzweigung erstellen; verfügt über Viewer-Rechte.
  • viewer - Kann nur die Umgebung anzeigen.

Die Standardbenutzerrolle ist contributor, wodurch der SSH-Zugriff von Benutzern mit ausschließlich ""- eingeschränkt wird. Sie können die Benutzerrolle in viewer ändern, um SSH-Zugriff nur für Benutzer mit ""- zuzulassen:

access:
    ssh: viewer
recommendation-more-help
7c2b03ac-000c-497d-aba3-2c6dc720a938