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 comando php ./vendor/bin/ece-tools padrã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 comando php ./vendor/bin/ece-tools padrão copia o diretório app/etc para 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 gancho post_deploy limpa o cache e pré-carrega (aquece) o cache. Você pode personalizar a lista de páginas usando a variável WARM_UP_PAGES no estágio de implantação do Post. Embora não seja obrigatório, isso funciona em conjunto com a variável de ambiente SCD_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.

NOTE
Com o ECE-Tools 2002.1.0 e versões posteriores, você pode usar o recurso de implantação baseada em cenário para personalizar os processos de compilação, implantação e pós-implantação do seu projeto Adobe Commerce na infraestrutura em nuvem. Consulte Implantação baseada em cenário.
recommendation-more-help
05f2f56e-ac5d-4931-8cdb-764e60e16f26