Hooks-Eigenschaft

Verwenden Sie den Abschnitt hooks , um Shell-Befehle während der Build-, Bereitstellungs- und Nachbereitstellungsphasen auszuführen:

  • build - Führt Befehle aus bevor Anwendung verpackt wird. Dienste wie die Datenbank oder Redis sind nicht verfügbar, da die Anwendung noch nicht bereitgestellt wurde. Fügen Sie benutzerdefinierte Befehle vor dem Standardbefehl php ./vendor/bin/ece-tools hinzu, damit benutzergenerierter Inhalt in der Bereitstellungsphase fortgesetzt wird.

  • deploy: Ausführen von Befehlen nach Verpacken und Bereitstellen der Anwendung. An dieser Stelle können Sie auf andere Dienste zugreifen. Da der standardmäßige php ./vendor/bin/ece-tools-Befehl das app/etc an den richtigen Speicherort kopiert, müssen Sie () Bereitstellungsbefehl benutzerdefinierte Befehle hinzufügen, um Fehler bei benutzerdefinierten Befehlen zu vermeiden.

  • post_deploy - Führt Befehle aus nachdem Anwendung bereitgestellt wurde und danach beginnt der Container Verbindungen zu akzeptieren. Der post_deploy-Hook löscht den Cache und lädt den Cache vorab (erwärmt). Sie können die Liste der Seiten mithilfe der WARM_UP_PAGES Variable im Phase nach der Bereitstellung“. Dies ist zwar nicht erforderlich, funktioniert aber zusammen mit der Umgebungsvariablen SCD_ON_DEMAND .

Das folgende Beispiel zeigt die Standardkonfiguration in der .magento.app.yaml. Fügen Sie CLI-Befehle unter den Abschnitten build, deploy oder post_deploy () ece-tools Befehl hinzu:

hooks:
    # We run build hooks before your application has been packaged.
    build: |
        set -e
        composer install
        php ./vendor/bin/ece-tools run scenario/build/generate.xml
        php ./vendor/bin/ece-tools run scenario/build/transfer.xml
    # We run deploy hook after your application has been deployed and started.
    deploy: |
        php ./vendor/bin/ece-tools run scenario/deploy.xml
    # We run post deploy hook to clean and warm the cache. Available with ECE-Tools 2002.0.10.
    post_deploy: |
        php ./vendor/bin/ece-tools run scenario/post-deploy.xml

Außerdem können Sie die Build-Phase weiter anpassen, indem Sie die Befehle generate und transfer verwenden, um zusätzliche Aktionen speziell beim Erstellen von Code oder beim Verschieben von Dateien durchzuführen.

hooks:
    # We run build hooks before your application has been packaged.
    build: |
        set -e
        php ./vendor/bin/ece-tools build:generate
        # php /path/to/your/script
        php ./vendor/bin/ece-tools build:transfer
  • set -e - verursacht, dass Hooks beim ersten fehlgeschlagenen Befehl fehlschlagen, anstatt beim letzten fehlgeschlagenen Befehl.
  • build:generate: Wendet Patches an, validiert die Konfiguration, generiert eine ID und generiert statische Inhalte, wenn SCD für die Build-Phase aktiviert ist.
  • build:transfer - Überträgt generierten Code und statischen Inhalt an das endgültige Ziel.

Die Befehle werden im Anwendungsverzeichnis (/app) ausgeführt. Sie können den cd-Befehl verwenden, um das Verzeichnis zu ändern. Die Hooks schlagen fehl, wenn der letzte Befehl in ihnen fehlschlägt. Um sie beim ersten fehlgeschlagenen Befehl zum Fehlschlagen zu bringen, fügen Sie set -e am Anfang des Hooks hinzu.

So kompilieren Sie Sass-Dateien mit grunt:

dependencies:
    ruby:
        sass: "3.4.7"
    nodejs:
        grunt-cli: "~0.1.13"

hooks:
    build: |
        cd public/profiles/project_name/themes/custom/theme_name
        npm install
        grunt
        cd
        php ./vendor/bin/ece-tools build

Kompilieren Sie Sass-Dateien mithilfe von grunt vor der Bereitstellung statischer Inhalte, die während des Builds erfolgt. Platzieren Sie den Befehl grunt vor dem Befehl build .

NOTE
Ab ECE-Tools 2002.1.0 können Sie die szenarienbasierte Bereitstellungsfunktion verwenden, um die Erstellungs-, Bereitstellungs- und Nachbereitstellungsprozesse für Ihr Adobe Commerce in Cloud-Infrastrukturprojekt anzupassen. Siehe Szenariobasierte Bereitstellung.
recommendation-more-help
05f2f56e-ac5d-4931-8cdb-764e60e16f26