Propriété Hooks

Utilisez la variable hooks pour exécuter des commandes shell pendant les phases de création, de déploiement et de post-déploiement :

  • build—Exécuter les commandes before emballer votre application. Les services, tels que la base de données ou Redis, ne sont pas disponibles, car l’application n’a pas encore été déployée. Ajout de commandes personnalisées before par défaut php ./vendor/bin/ece-tools afin que le contenu généré par les utilisateurs puisse continuer jusqu’à la phase de déploiement.

  • deploy—Exécuter les commandes after création d’un package et déploiement de votre application. Vous pouvez accéder à d’autres services à ce stade. Depuis la valeur par défaut php ./vendor/bin/ece-tools copie la commande app/etc à l’emplacement approprié, vous devez ajouter des commandes personnalisées. after la commande deploy pour empêcher l’échec des commandes personnalisées.

  • post_deploy—Exécuter les commandes after déploiement de votre application et after le conteneur commence à accepter les connexions. La variable post_deploy hook efface le cache et précharge (warms) le cache. Vous pouvez personnaliser la liste des pages à l’aide de la variable WARM_UP_PAGES dans la variable Etape post-déploiement. Bien que cela ne soit pas obligatoire, cela fonctionne en tandem avec la fonction SCD_ON_DEMAND Variable d’environnement.

L’exemple suivant illustre la configuration par défaut dans la variable .magento.app.yaml fichier . Ajoutez des commandes d’interface de ligne de commande sous la propriété build, deploy, ou post_deploy sections before la valeur ece-tools command :

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

Vous pouvez également personnaliser davantage la phase de création à l’aide de la fonction generate et transfer pour effectuer des actions supplémentaires lors de la création spécifique de code ou du déplacement de fichiers.

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—entraîne l’échec des hooks sur la première commande qui a échoué, au lieu de la commande finale qui a échoué.
  • build:generate: applique des correctifs, valide la configuration, génère l’ID et génère du contenu statique si SCD est activé pour la phase de création.
  • build:transfer: transfère le code généré et le contenu statique vers la destination finale.

Les commandes s’exécutent à partir de l’application (/app). Vous pouvez utiliser la variable cd pour modifier le répertoire. Les hooks échouent si la commande finale échoue. Pour les provoquer à l’échec de la première commande en échec, ajoutez set -e au début du crochet.

Pour compiler des fichiers Sass à l’aide de 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

Compilation de fichiers Sass à l’aide de grunt avant le déploiement du contenu statique, qui se produit pendant la génération. Placez le grunt avant la commande build .

NOTE
Avec ECE-Tools 2002.1.0 et versions ultérieures, vous pouvez utiliser la fonctionnalité de déploiement basée sur des scénarios pour personnaliser les processus de création, de déploiement et de post-déploiement pour votre projet d’infrastructure cloud Adobe Commerce. Voir Déploiement basé sur des scénarios.
recommendation-more-help
05f2f56e-ac5d-4931-8cdb-764e60e16f26