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.
Chemins d’accès :
"var": "shared:files/var"
"app/etc": "shared:files/etc"
"pub/media": "shared:files/media"
"pub/static": "shared:files/static"
Services :
database: "mysql:mysql"
redis: "redis:redis"
opensearch: "opensearch:opensearch"
Extensions :
xsl
newrelic
sodium
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.
type
et build
Les propriétés type
et build
fournissent des informations sur l’image du 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. Le 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
à partir 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. Vous devez donc 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
:
- Supprimez
composer
en tant quebuild: flavor:
et ajouteznone
. 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. - Ajoutez
composer/composer: '^2.0'
comme dépendancephp
pour installer le compositeur 2.x. - Ajoutez les tâches de génération
composer
à un hookbuild
pour exécuter les tâches de génération à 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, par exemple pour activer des 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 minimale recommandée est de 256 Mo. Si le UserError: Error building the project: Disk size may not be smaller than 128MB
d’erreur s’affiche, augmentez la taille à 256 Mo.
mounts
et disk
de votre application. Lorsque vous soumettez le ticket, indiquez les modifications de configuration requises et incluez une version mise à jour de votre fichier .magento.app.yaml
.relationships
Définit le mapping 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 de relations par défaut :
relationships:
database: "mysql:mysql"
redis: "redis:redis"
opensearch: "opensearch:opensearch"
rabbitmq: "rabbitmq:rabbitmq"
Consultez Services pour obtenir une liste complète des types de services et des points d’entrée 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 accessible en écriture sur le disque pour les fichiers. Voici une liste par défaut des montages configurés dans le fichier magento.app.yaml
en utilisant 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 au sein d'un environnement.disk
: définit la taille disponible pour le volume partagé.
mounts
et disk
de votre application. Lorsque vous soumettez le ticket, indiquez les modifications de configuration requises et incluez une version mise à jour de votre fichier .magento.app.yaml
.Vous pouvez rendre le montage web accessible en l’ajoutant au bloc d’emplacements web
.
subpath
du nom du montage. Cette valeur est l’identifiant unique de la zone de files
. Si vous modifiez ce nom, vous perdrez toutes les données du site stockées à l’ancien emplacement.access
La propriété access
indique un niveau minimum de rôle d’utilisateur qui est autorisé à accéder au SSH aux environnements. Les rôles utilisateur disponibles sont les suivants :
admin
: peut modifier des paramètres et exécuter des actions dans l'environnement ; dispose des droits contributeur et observateur.contributor
: peut envoyer du code vers cet environnement et y créer des branches ; dispose des droits visionneuse.viewer
: affichage de 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 visionneuse. Vous pouvez modifier le rôle de l’utilisateur en viewer
afin d’autoriser l’accès SSH aux utilisateurs disposant uniquement des droits visionneuse :
access:
ssh: viewer