Proprietà per la configurazione dell'applicazione
Il file .magento.app.yaml
utilizza le proprietà per gestire il supporto dell'ambiente per l'applicazione Commerce.
Percorsi:
"var": "shared:files/var"
"app/etc": "shared:files/etc"
"pub/media": "shared:files/media"
"pub/static": "shared:files/static"
Servizi:
database: "mysql:mysql"
redis: "redis:redis"
opensearch: "opensearch:opensearch"
Estensioni:
xsl
newrelic
sodium
name
La proprietà name
fornisce il nome dell'applicazione utilizzato nel file routes.yaml
per definire l'HTTP upstream (per impostazione predefinita, mymagento:http
). Ad esempio, se il valore di name
è app
, è necessario utilizzare app:http
nel campo a monte.
type
e build
Le proprietà type
e build
forniscono informazioni sull'immagine contenitore di base per generare ed eseguire il progetto.
La lingua type
supportata è PHP. Specificare la versione PHP come segue:
type: php:<version>
La proprietà build
determina ciò che accade per impostazione predefinita durante la creazione del progetto. flavor
specifica un set predefinito di attività di compilazione da eseguire. Nell'esempio seguente viene illustrata la configurazione predefinita per type
e build
da 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'
Installazione e utilizzo di Composer 2
La proprietà build: flavor:
non è utilizzata per Composer 2.x; pertanto, è necessario installare manualmente Composer durante la fase di build. Per installare e utilizzare Composer 2.x nei progetti Starter e Pro, è necessario apportare tre modifiche alla configurazione di .magento.app.yaml
:
- Rimuovi
composer
comebuild: flavor:
e aggiunginone
. Questa modifica impedisce a Cloud di utilizzare la versione predefinita 1.x di Composer per eseguire attività di build. - Aggiungi
composer/composer: '^2.0'
come dipendenzaphp
per l'installazione di Composer 2.x. - Aggiungere le attività di compilazione
composer
a un hookbuild
per eseguire le attività di compilazione tramite Composer 2.x.
Utilizza i seguenti frammenti di configurazione nella tua configurazione di .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
Per ulteriori informazioni su Composer, vedere Pacchetti richiesti.
dependencies
Specifica le dipendenze che potrebbero essere necessarie all'applicazione durante il processo di compilazione.
Adobe Commerce supporta le dipendenze dalle seguenti lingue:
- PHP
- Rubino
- Node.js
Tali dipendenze sono indipendenti dalle dipendenze finali dell'applicazione e sono disponibili in PATH
, durante il processo di compilazione e nell'ambiente di esecuzione dell'applicazione.
È possibile specificare tali dipendenze nel modo seguente:
ruby:
sass: "~3.4"
nodejs:
grunt-cli: "~0.3"
runtime
Utilizzare per modificare la configurazione PHP in fase di esecuzione, ad esempio per abilitare le estensioni. Sono necessarie le seguenti estensioni:
runtime:
extensions:
- xsl
- newrelic
- sodium
Per informazioni dettagliate sull'abilitazione delle estensioni, vedere Impostazioni PHP.
disk
Definisce la dimensione del disco persistente dell'applicazione in MB.
disk: 5120
La dimensione minima consigliata del disco è 256 MB. Se viene visualizzato l'errore UserError: Error building the project: Disk size may not be smaller than 128MB
, aumentare la dimensione a 256 MB.
mounts
e disk
per l'applicazione. Quando si invia il ticket, indicare le modifiche di configurazione richieste e includere una versione aggiornata del file .magento.app.yaml
.relationships
Definisce il mapping del servizio nell'applicazione.
Relazione name
disponibile per l'applicazione nella variabile di ambiente MAGENTO_CLOUD_RELATIONSHIPS
. La relazione <service-name>:<endpoint-name>
viene mappata ai valori di nome e tipo definiti nel file .magento/services.yaml
.
relationships:
<name>: "<service-name>:<endpoint-name>"
Di seguito è riportato un esempio delle relazioni predefinite:
relationships:
database: "mysql:mysql"
redis: "redis:redis"
opensearch: "opensearch:opensearch"
rabbitmq: "rabbitmq:rabbitmq"
Consulta Servizi per un elenco completo dei tipi di servizio e degli endpoint attualmente supportati.
mounts
Oggetto le cui chiavi sono percorsi relativi alla radice dell'applicazione. Il montaggio è un'area scrivibile sul disco per i file. Di seguito è riportato un elenco predefinito di mount configurati nel file magento.app.yaml
utilizzando la sintassi 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"
Il formato per l'aggiunta del montaggio all'elenco è il seguente:
"/public/sites/default/files": "shared:files/files"
shared
: condivide un volume tra le applicazioni all'interno di un ambiente.disk
- Definisce la dimensione disponibile per il volume condiviso.
mounts
e disk
per l'applicazione. Quando si invia il ticket, indicare le modifiche di configurazione richieste e includere una versione aggiornata del file .magento.app.yaml
.È possibile rendere accessibile il mount web aggiungendolo al blocco di posizioni web
.
subpath
del nome mount. Questo valore è l'identificatore univoco per l'area files
. Se si modifica questo nome, si perderanno tutti i dati del sito archiviati nella posizione precedente.access
La proprietà access
indica un livello di ruolo utente minimo che può accedere SSH agli ambienti. I ruoli utente disponibili sono:
admin
—Può modificare le impostazioni ed eseguire azioni nell'ambiente; dispone di diritti per collaboratori e visualizzatori.contributor
- Può inviare il codice a questo ambiente e diramarlo dall'ambiente; dispone dei diritti di visualizzatore.viewer
- Può visualizzare solo l'ambiente.
Il ruolo utente predefinito è contributor
, che limita l'accesso SSH agli utenti con soli diritti di visualizzatore. È possibile modificare il ruolo utente in viewer
per consentire l'accesso SSH agli utenti con soli diritti visualizzatore:
access:
ssh: viewer