Proprietà Hooks

Utilizza il hooks sezione per eseguire i comandi della shell durante le fasi di compilazione, distribuzione e post-distribuzione:

  • build- Esecuzione di comandi prima di creazione del pacchetto dell’applicazione. Servizi, come il database o Redis, non sono disponibili perché l'applicazione non è ancora stata distribuita. Aggiungere comandi personalizzati prima di impostazione predefinita php ./vendor/bin/ece-tools affinché il contenuto generato personalizzato continui alla fase di distribuzione.

  • deploy- Esecuzione di comandi dopo creazione di pacchetti e distribuzione dell'applicazione. A questo punto è possibile accedere ad altri servizi. Dal valore predefinito php ./vendor/bin/ece-tools copia il comando app/etc nella posizione corretta, è necessario aggiungere comandi personalizzati dopo il comando deploy per evitare errori nei comandi personalizzati.

  • post_deploy- Esecuzione di comandi dopo distribuzione dell'applicazione e dopo il contenitore inizia ad accettare le connessioni. Il post_deploy hook cancella la cache e precarica (riscalda) la cache. È possibile personalizzare l’elenco delle pagine utilizzando WARM_UP_PAGES variabile in Fase post-distribuzione. Anche se non obbligatorio, questo funziona insieme al SCD_ON_DEMAND variabile di ambiente.

L'esempio seguente mostra la configurazione predefinita in .magento.app.yaml file. Aggiungere comandi CLI in build, deploy, o post_deploy sezioni prima di il ece-tools comando:

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

Inoltre, puoi personalizzare ulteriormente la fase di build utilizzando generate e transfer comandi per eseguire azioni aggiuntive durante la creazione specifica di codice o lo spostamento di file.

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- causa il fallimento degli hook sul primo comando non riuscito, anziché sul comando non riuscito finale.
  • build:generate: applica patch, convalida la configurazione, genera ID e genera contenuto statico se SCD è abilitato per la fase di generazione.
  • build:transfer- trasferisce il codice generato e il contenuto statico alla destinazione finale.

Comandi eseguiti dall'applicazione (/app). È possibile utilizzare cd per cambiare la directory. Gli hook hanno esito negativo se il comando finale in essi contenuto ha esito negativo. Per impedire il completamento del primo comando non riuscito, aggiungere set -e all'inizio dell'amo.

Per compilare i file Sass mediante 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

Compila file Sass tramite grunt prima della distribuzione del contenuto statico, che avviene durante la generazione. Posiziona grunt comando prima di build comando.

NOTE
Con ECE-Tools 2002.1.0 e versioni successive, puoi utilizzare la funzione di distribuzione basata su scenari per personalizzare i processi di build, distribuzione e post-distribuzione per il progetto di infrastruttura cloud di Adobe Commerce. Consulta Distribuzione basata su scenari.
recommendation-more-help
05f2f56e-ac5d-4931-8cdb-764e60e16f26