Proprietà per la configurazione dell'applicazione

Il file .magento.app.yaml utilizza le proprietà per gestire il supporto dell'ambiente per l'applicazione Commerce.

Nome
Descrizione
Predefinito
Obbligatorio
access
Personalizzare i ruoli utente
No
crons
Aggiorna le specifiche e pianifica i processi cron
No
dependencies
Abilita dipendenze aggiuntive
php:composer/composer: '2.2.4'
No
disk
Definire la dimensione del disco persistente
5120
firewall
(Solo Starter) Controlla il traffico in uscita
No
hooks
Personalizzare i comandi della shell per le fasi di compilazione, distribuzione e post-distribuzione
No
mounts
Impostare i percorsi

Percorsi:

  • "var": "shared:files/var"
  • "app/etc": "shared:files/etc"
  • "pub/media": "shared:files/media"
  • "pub/static": "shared:files/static"
No
name
Definisci il nome dell’applicazione
mymagento
relationships
Servizi mappa

Servizi:

  • database: "mysql:mysql"
  • redis: "redis:redis"
  • opensearch: "opensearch:opensearch"
No
runtime
La proprietà runtime include le estensioni richieste dall'applicazione Commerce.

Estensioni:

  • xsl
  • newrelic
  • sodium
type
Impostare l'immagine contenitore di base
php:8.3
variables
Applicare una variabile di ambiente per una versione specifica di Commerce
No
web
Gestire le richieste esterne
workers
Gestire le richieste esterne
Sì, se non si utilizza la proprietà web

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.

WARNING
Non modificare il nome dell'applicazione dopo che è stata distribuita. In questo modo si verifica una perdita di dati.

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:

  1. Rimuovi composer come build: flavor: e aggiungi none. Questa modifica impedisce a Cloud di utilizzare la versione predefinita 1.x di Composer per eseguire attività di build.
  2. Aggiungi composer/composer: '^2.0' come dipendenza php per l'installazione di Composer 2.x.
  3. Aggiungere le attività di compilazione composer a un hook build 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.

NOTE
Per gli ambienti di produzione e staging Pro, è necessario inviare un ticket di supporto Adobe Commerce per aggiornare la configurazione 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.
Non è possibile aumentare temporaneamente lo storage su disco in Staging o Produzione; questo processo non è reversibile.

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.
NOTE
Per gli ambienti di produzione e staging Pro, è necessario inviare un ticket di supporto Adobe Commerce per aggiornare la configurazione 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.

WARNING
Una volta che il sito dispone di dati, non modificare la porzione 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
recommendation-more-help
05f2f56e-ac5d-4931-8cdb-764e60e16f26