Propriétés pour la configuration de l’application

Le fichier .magento.app.yaml utilise des propriétés pour gérer la prise en charge de l’environnement pour l’application Commerce.

Nom
Description
Par défaut
Obligatoire
access
Personnalisation des rôles utilisateur
Non
crons
Mise à jour des spécifications et planification des tâches cron
Non
dependencies
Activation des dépendances supplémentaires
php:composer/composer: '2.2.4'
Non
disk
Définition de la taille du disque persistant
5120
Oui
firewall
(Démarrage uniquement) Contrôle du trafic sortant
Non
hooks
Personnalisation des commandes shell pour les phases de création, de déploiement et de post-déploiement
Non
mounts
Définition des chemins

Chemins :

  • "var": "shared:files/var"
  • "app/etc": "shared:files/etc"
  • "pub/media": "shared:files/media"
  • "pub/static": "shared:files/static"
Non
name
Définition du nom de l’application
mymagento
Oui
relationships
Services de mappage

Services :

  • database: "mysql:mysql"
  • redis: "redis:redis"
  • opensearch: "opensearch:opensearch"
Non
runtime
La propriété Runtime inclut des extensions requises par l’application Commerce.

Extensions :

  • xsl
  • newrelic
  • sodium
Oui
type
Définition de l’image de conteneur de base
php:8.3
Oui
variables
Application d’une variable d’environnement à une version spécifique de Commerce
Non
web
Gestion des requêtes externes
Oui
workers
Gestion des requêtes externes
Oui, si vous n’utilisez pas la propriété web

name

La propriété name fournit le nom de l’application utilisé dans le fichier routes.yaml pour définir le HTTP en amont (par défaut, mymagento:http). Par exemple, si la valeur de name est app, vous devez utiliser app:http dans le champ en amont.

WARNING
Ne modifiez pas le nom de l’application après son déploiement. Cela entraîne une perte de données.

type et build

Les propriétés type et build fournissent des informations sur l’image de conteneur de base pour créer et exécuter le projet.

Le langage type pris en charge est PHP. Spécifiez la version PHP comme suit :

type: php:<version>

La propriété build détermine ce qui se passe par défaut lors de la création du projet. flavor spécifie un ensemble par défaut de tâches de génération à exécuter. L’exemple suivant illustre la configuration par défaut pour type et build de magento-cloud/.magento.app.yaml :

# The toolstack used to build the application.
type: php:8.3
build:
    flavor: none

dependencies:
    php:
        composer/composer: '2.7.2'

Installation et utilisation du compositeur 2

La propriété build: flavor: n’est pas utilisée pour le compositeur 2.x. Par conséquent, vous devez installer manuellement le compositeur pendant la phase de création. Pour installer et utiliser Composer 2.x dans vos projets Starter et Pro, vous devez apporter trois modifications à votre configuration .magento.app.yaml :

  1. Supprimez composer comme build: flavor: et ajoutez none. Cette modification empêche Cloud d’utiliser la version 1.x par défaut du compositeur pour exécuter les tâches de création.
  2. Ajoutez composer/composer: '^2.0' comme dépendance php pour installer le compositeur 2.x.
  3. Ajoutez les tâches de création composer à un crochet build pour exécuter les tâches de création à l’aide du compositeur 2.x.

Utilisez les fragments de configuration suivants dans votre propre configuration .magento.app.yaml :

# 1. Change flavor to none.
build:
    flavor: none

# 2. Add Composer ^2.0 as a php dependency.
dependencies:
    php:
        composer/composer: '^2.0'

# 3. Add a build hook to run the build tasks using Composer 2.x.
hooks:
    build: |
        set -e
        composer --no-ansi --no-interaction install --no-progress --prefer-dist --optimize-autoloader

Voir Packages requis pour plus d’informations sur le compositeur.

dependencies

Spécifiez les dépendances dont votre application peut avoir besoin pendant le processus de création.

Adobe Commerce prend en charge les dépendances dans les langues suivantes :

  • PHP
  • Ruby
  • Node.js

Ces dépendances sont indépendantes des dépendances éventuelles de votre application et sont disponibles dans le PATH, pendant le processus de création et dans l’environnement d’exécution de votre application.

Vous pouvez spécifier ces dépendances comme suit :

ruby:
   sass: "~3.4"
nodejs:
   grunt-cli: "~0.3"

runtime

Utilisez pour modifier la configuration PHP au moment de l’exécution, comme activer les extensions. Les extensions suivantes sont requises :

runtime:
    extensions:
        - xsl
        - newrelic
        - sodium

Voir Paramètres PHP pour plus d’informations sur l’activation des extensions.

disk

Définit la taille du disque persistant de l’application en Mo.

disk: 5120

La taille de disque recommandée minimale est de 256 Mo. Si l’erreur UserError: Error building the project: Disk size may not be smaller than 128MB s’affiche, augmentez la taille à 256 Mo.

NOTE
Pour les environnements d’évaluation et de production Pro, vous devez envoyer un ticket d’assistance Adobe Commerce pour mettre à jour la configuration mounts et disk de votre application. Lorsque vous envoyez le ticket, indiquez les modifications de configuration requises et incluez une version mise à jour de votre fichier .magento.app.yaml.

relationships

Définit le mappage de service dans l’application.

La relation name est disponible pour l’application dans la variable d’environnement MAGENTO_CLOUD_RELATIONSHIPS. La relation <service-name>:<endpoint-name> correspond aux valeurs de nom et de type définies dans le fichier .magento/services.yaml.

relationships:
    <name>: "<service-name>:<endpoint-name>"

Voici un exemple des relations par défaut :

relationships:
    database: "mysql:mysql"
    redis: "redis:redis"
    opensearch: "opensearch:opensearch"
    rabbitmq: "rabbitmq:rabbitmq"

Voir Services pour obtenir la liste complète des types de service et des points de terminaison actuellement pris en charge.

mounts

Objet dont les clés sont des chemins d’accès relatifs à la racine de l’application. Le montage est une zone d’écriture sur le disque pour les fichiers. Voici une liste par défaut des montages configurés dans le fichier magento.app.yaml à l’aide de la syntaxe volume_id[/subpath] :

 # The mounts that will be performed when the package is deployed.
mounts:
    "var": "shared:files/var"
    "app/etc": "shared:files/etc"
    "pub/media": "shared:files/media"
    "pub/static": "shared:files/static"

Le format d'ajout de votre montage à cette liste est le suivant :

"/public/sites/default/files": "shared:files/files"
  • shared : partage un volume entre vos applications dans un environnement.
  • disk : définit la taille disponible pour le volume partagé.
NOTE
Pour les environnements d’évaluation et de production Pro, vous devez envoyer un ticket d’assistance Adobe Commerce pour mettre à jour la configuration mounts et disk de votre application. Lorsque vous envoyez le ticket, indiquez les modifications de configuration requises et incluez une version mise à jour de votre fichier .magento.app.yaml.

Vous pouvez rendre le Web de montage accessible en l’ajoutant au bloc web d’emplacements.

WARNING
Une fois que votre site contient des données, ne modifiez pas la partie subpath du nom du montage. Cette valeur est l’identifiant unique de la zone files. Si vous modifiez ce nom, vous perdez toutes les données du site stockées à l’ancien emplacement.

access

La propriété access indique un niveau de rôle utilisateur minimal autorisé à accéder à SSH aux environnements. Les rôles utilisateur disponibles sont les suivants :

  • admin : peut modifier les paramètres et exécuter des actions dans l’environnement ; dispose des droits contributor et viewer.
  • contributor : peut envoyer du code vers cet environnement et créer une branche à partir de l’environnement ; dispose des droits viewer.
  • viewer : peut afficher l’environnement uniquement.

Le rôle d’utilisateur par défaut est contributor, ce qui limite l’accès SSH des utilisateurs disposant uniquement des droits viewer. Vous pouvez remplacer le rôle de l’utilisateur par viewer afin d’autoriser l’accès SSH pour les utilisateurs disposant uniquement des droits viewer :

access:
    ssh: viewer
recommendation-more-help
05f2f56e-ac5d-4931-8cdb-764e60e16f26