Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Impostazioni di compilazione compilazione
Quando si archiviano più progetti o microservizi in un unico repository, si parla di monorepo. Puoi utilizzare Amplify Hosting per distribuire applicazioni in un monorepo senza creare più configurazioni di build o configurazioni di filiale.
Puoi salvare le impostazioni di build per un monorepo nella console di Amplify oppure puoi scaricare ilamplify.yml
file e aggiungerlo alla radice del tuo repository. Amplify applica le impostazioni salvate nella console a tutte le filiali a meno che non trovi unamplify.yml
file nel tuo repository. Quando è presente unamplify.yml
file, le sue impostazioni sostituiscono qualsiasi impostazione di build salvata nella console Amplify.
Sintassi YAML delle specifiche di build Monorepo
La sintassi YAML per una specifica di build monorepo è diversa dalla sintassi YAML per un repository che contiene una singola applicazione. Per un monorepo, dichiari ogni progetto in un elenco di applicazioni. È necessario fornire le seguenti informazioni aggiuntive per ogni applicazione dichiarata nelle specifiche di build di monorepo:
- Approot
-
La radice, all'interno del repository, in cui viene avviata l'applicazione. Questa chiave deve esistere e avere lo stesso valore della variabile di
AMPLIFY_MONOREPO_APP_ROOT
ambiente. Per istruzioni sull'impostazione di questa variabile di ambiente, vedereImpostazione della variabile di ambiente AMPLIFY_MONOREPO_APP_ROOT.
Il seguente esempio di specifica di build monorepo dimostra come dichiarare più applicazioni Amplify nello stesso repository. Le due appreact-app
, eangular-app
sono dichiarate nell'applications
elenco. LaappRoot
chiave per ogni app indica che l'app si trova nella cartellaapps
principale del repository.
version: 1 applications: - appRoot: apps/react-app env: variables: key: value backend: phases: preBuild: commands: - *enter command* build: commands: - *enter command* postBuild: commands: - *enter command* frontend: phases: preBuild: commands: - *enter command* - *enter command* build: commands: - *enter command* artifacts: files: - location - location discard-paths: yes baseDirectory: location cache: paths: - path - path test: phases: preTest: commands: - *enter command* test: commands: - *enter command* postTest: commands: - *enter command* artifacts: files: - location - location configFilePath: *location* baseDirectory: *location* - appRoot: apps/angular-app env: variables: key: value backend: phases: preBuild: commands: - *enter command* build: commands: - *enter command* postBuild: commands: - *enter command* frontend: phases: preBuild: commands: - *enter command* - *enter command* build: commands: - *enter command* artifacts: files: - location - location discard-paths: yes baseDirectory: location cache: paths: - path - path test: phases: preTest: commands: - *enter command* test: commands: - *enter command* postTest: commands: - *enter command* artifacts: files: - location - location configFilePath: *location* baseDirectory: *location*
Impostazione della variabile di ambiente AMPLIFY_MONOREPO_APP_ROOT
Quando distribuisci un'app archiviata in un monorepo, la variabile diAMPLIFY_MONOREPO_APP_ROOT
ambiente dell'app deve avere lo stesso valore del percorso della radice dell'app rispetto alla radice del tuo repository. Ad esempio, un monorepo denominatoExampleMonorepo
con una cartella principale denominataapps
, che contieneapp1
,app2
, eapp3
ha la seguente struttura di directory:
ExampleMonorepo apps app1 app2 app3
In questo esempio, il valore della variabile diAMPLIFY_MONOREPO_APP_ROOT
ambiente perapp1
èapps/app1
.
Quando distribuisci un'app monorepo utilizzando la console Amplify, la console imposta automaticamente la variabile diAMPLIFY_MONOREPO_APP_ROOT
ambiente utilizzando il valore specificato per il percorso verso la radice dell'app. Tuttavia, se l'app monorepo esiste già in Amplify o viene distribuita utilizzandoAWS CloudFormation, è necessario impostare manualmente la variabile diAMPLIFY_MONOREPO_APP_ROOT
ambiente nella sezione Variabili di ambiente della console Amplify.
Impostazione automatica della variabile di ambiente AMPLIFY_MONOREPO_APP_ROOT durante la distribuzione
Le seguenti istruzioni mostrano come distribuire un'app monorepo con la console Amplify. Amplify imposta automaticamente la variabile diAMPLIFY_MONOREPO_APP_ROOT
ambiente utilizzando la cartella principale dell'app specificata nella console.
Per distribuire un'app monorepo con la console Amplify
-
AccediAWS Management Console e apri la console Amplify
. -
Scegli Nuova app, Host web app nell'angolo in alto a destra.
-
Nella pagina Ospita la tua app web, scegli il tuo provider Git, quindi scegli Continua.
-
Nella pagina Add repository completa le seguenti operazioni:
-
Scegli il nome del tuo repository dall'elenco dei repository aggiornati di recente.
-
Per Branch (Istanze), scegliere il nome del ramo da utilizzare.
-
Seleziona Collegare un monorepo? Scegli una cartella.
-
Inserisci il percorso della tua app nel tuo monorepo, ad esempio
apps/app1
. -
Seleziona Successivo.
-
-
Nella pagina Configura le impostazioni di build puoi utilizzare le impostazioni predefinite o personalizzare le impostazioni di build per la tua app. Nella seguente schermata di esempio, Amplify rileva un
amplify.yml
file nel repository da utilizzare per le impostazioni di compilazione. Nella sezione Variabili d'ambiente, Amplify haAMPLIFY_MONOREPO_APP_ROOT
impostato suapps/app1
, utilizzando il percorso specificato nel passaggio 4d. -
Seleziona Successivo.
-
Nella pagina Revisione, scegli Salva e distribuisci.
Impostazione della variabile di ambiente AMPLIFY_MONOREPO_APP_ROOT per un'app esistente
Usa le seguenti istruzioni per impostare manualmente la variabile diAMPLIFY_MONOREPO_APP_ROOT
ambiente per un'app che è già distribuita su Amplify o è stata creata utilizzando CloudFormation.
Per impostare la variabile di ambiente AMPLIFY_MONOREPO_APP_ROOT per un'app esistente
-
AccediAWS Management Console e apri la console Amplify
. -
Scegli il nome dell'app per cui impostare la variabile di ambiente.
-
Nel riquadro di navigazione, scegliere Impostazioni app, quindi selezionare Variabili di ambiente.
-
Nella pagina Variabili di ambiente, scegli Gestisci variabili.
-
Nella sezione Gestione variabili completa le seguenti operazioni:
-
Scegli Aggiungi variabile.
-
In Variabile, inserisci la chiave
AMPLIFY_MONOREPO_APP_ROOT
. -
In Valore, inserisci il percorso dell'app, ad esempio
apps/app1
. -
Per Branch, per impostazione predefinita Amplify applica la variabile di ambiente a tutti i rami.
-
-
Seleziona Salva.