Proprietà Hooks
Utilizzare la sezione hooks
per eseguire i comandi della shell durante le fasi di compilazione, distribuzione e post-distribuzione:
-
build
—Esegui i comandi prima di creare il pacchetto dell'applicazione. Servizi, come il database o Redis, non sono disponibili perché l'applicazione non è ancora stata distribuita. Aggiungere i comandi personalizzati prima del comando predefinitophp ./vendor/bin/ece-tools
in modo che il contenuto generato personalizzato continui alla fase di distribuzione. -
deploy
—Esegui i comandi dopo per creare il pacchetto e distribuire l'applicazione. A questo punto è possibile accedere ad altri servizi. Poiché il comando predefinitophp ./vendor/bin/ece-tools
copia la directoryapp/etc
nella posizione corretta, è necessario aggiungere comandi personalizzati dopo al comando deploy per evitare errori nei comandi personalizzati. -
post_deploy
—Esegui comandi dopo la distribuzione dell'applicazione e dopo il contenitore inizia ad accettare connessioni. L'hookpost_deploy
cancella la cache e precarica (riscalda) la cache. È possibile personalizzare l'elenco delle pagine utilizzando la variabileWARM_UP_PAGES
nella fase di distribuzione di Post. Anche se non obbligatorio, questo funziona insieme alla variabile di ambienteSCD_ON_DEMAND
.
L'esempio seguente mostra la configurazione predefinita nel file .magento.app.yaml
. Aggiungere comandi CLI nelle sezioni build
, deploy
o post_deploy
prima del comando ece-tools
:
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 possibile personalizzare ulteriormente la fase di compilazione utilizzando i comandi generate
e transfer
per eseguire azioni aggiuntive durante la creazione specifica del codice o lo spostamento dei 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 un errore degli hook sul primo comando non riuscito, anziché sul comando finale non riuscito.build:generate
: applica patch, convalida la configurazione, genera ID e genera contenuto statico se SCD è abilitato per la fase di compilazione.build:transfer
- trasferisce il codice generato e il contenuto statico alla destinazione finale.
Comandi eseguiti dalla directory dell'applicazione (/app
). È possibile utilizzare il comando cd
per cambiare la directory. Gli hook hanno esito negativo se il comando finale in essi contenuto ha esito negativo. Per impedirne l'esecuzione al primo comando non riuscito, aggiungere set -e
all'inizio dell'hook.
Per compilare i file Sass utilizzando 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 i file Sass utilizzando grunt
prima della distribuzione del contenuto statico, che avviene durante la compilazione. Inserire il comando grunt
prima del comando build
.