Hooks, egenskap
Använd avsnittet hooks om du vill köra kommandon för användargränssnitt under faserna för att skapa, distribuera och efterdistribuera:
-
build- Kör kommandon innan paketerar programmet. Tjänster, som databasen eller Redis, är inte tillgängliga eftersom programmet ännu inte har distribuerats. Lägg till anpassade kommandon före som standardphp ./vendor/bin/ece-toolsså att anpassat innehåll fortsätter till distributionsfasen. -
deploy- Kör kommandon efter att du paketerat och distribuerat programmet. Du kan nu komma åt andra tjänster. Eftersom standardkommandotphp ./vendor/bin/ece-toolskopierar katalogenapp/etctill rätt plats, måste du lägga till anpassade kommandon efter kommandot för distribution för att förhindra att anpassade kommandon misslyckas. -
post_deploy- Kör kommandon efter-distributionen av programmet och efter börjar behållaren acceptera anslutningar. Koppelnpost_deployrensar cachen och läser in cachen i förväg (varmar). Du kan anpassa sidlistan med hjälp av variabelnWARM_UP_PAGESi scenen efter distributionen. Även om det inte krävs fungerar detta tillsammans med miljövariabelnSCD_ON_DEMAND.
I följande exempel visas standardkonfigurationen i filen .magento.app.yaml. Lägg till CLI-kommandon under build, deploy eller post_deploy avsnitten före kommandot 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
Du kan också anpassa byggfasen ytterligare genom att använda kommandona generate och transfer för att utföra ytterligare åtgärder när du skapar kod eller flyttar filer.
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- gör att krokar misslyckas vid det första misslyckade kommandot i stället för det sista misslyckade kommandot.build:generate- tillämpar korrigeringar, validerar konfiguration, genererar ID och genererar statiskt innehåll om SCD är aktiverat för byggfasen.build:transfer- överför genererad kod och statiskt innehåll till det slutliga målet.
Kommandona körs från programkatalogen (/app). Du kan använda kommandot cd för att ändra katalogen. Hakarna misslyckas om det sista kommandot i dem misslyckas. Lägg till set -e i början av kroken för att få dem att misslyckas med det första misslyckade kommandot.
Så här kompilerar du Sass-filer med Grund:
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
Kompilera Sass-filer med grunt före distributionen av statiskt innehåll, vilket sker under bygget. Placera kommandot grunt före kommandot build.