Propriedade de ganchos
Use a seção hooks para executar comandos de shell durante as fases de compilação, implantação e pós-implantação:
-
build—Execute comandos antes empacotando seu aplicativo. Serviços, como o banco de dados ou Redis, não estão disponíveis, pois o aplicativo ainda não foi implantado. Adicione comandos personalizados antes do comandophp ./vendor/bin/ece-toolspadrão para que o conteúdo gerado de forma personalizada continue na fase de implantação. -
deploy—Execute comandos após empacotando e implantando seu aplicativo. Você pode acessar outros serviços neste ponto. Como o comandophp ./vendor/bin/ece-toolspadrão copia o diretórioapp/etcpara o local correto, você deve adicionar comandos personalizados após o comando de implantação para evitar a falha de comandos personalizados. -
post_deploy—Execute os comandos após a implantação do aplicativo e após o contêiner começa a aceitar conexões. O ganchopost_deploylimpa o cache e pré-carrega (aquece) o cache. Você pode personalizar a lista de páginas usando a variávelWARM_UP_PAGESna Fase de pós-implantação. Embora não seja obrigatório, isso funciona em conjunto com a variável de ambienteSCD_ON_DEMAND.
O exemplo a seguir mostra a configuração padrão no arquivo .magento.app.yaml. Adicione comandos CLI nas seções build, deploy ou post_deploy antes do 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
Além disso, é possível personalizar ainda mais a fase de compilação usando os comandos generate e transfer para executar ações adicionais ao compilar ou mover arquivos especificamente.
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— faz com que os ganchos falhem no primeiro comando com falha, em vez do comando final com falha.build:generate— aplica patches, valida a configuração, gera ID e gera conteúdo estático se o SCD estiver habilitado para a fase de compilação.build:transfer— transfere o código gerado e o conteúdo estático para o destino final.
Os comandos são executados do diretório do aplicativo (/app). Você pode usar o comando cd para alterar o diretório. Os ganchos falharão se o comando final neles falhar. Para fazer com que falhem no primeiro comando com falha, adicione set -e ao início do gancho.
Para compilar arquivos Sass usando 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
Compilar arquivos Sass usando grunt antes da implantação de conteúdo estático, o que acontece durante a compilação. Coloque o comando grunt antes do comando build.