Impostazioni di compilazione compilazione - AWS AmplifyHosting

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 diAMPLIFY_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'applicationselenco. 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
  1. AccediAWS Management Console e apri la console Amplify.

  2. Scegli Nuova app, Host web app nell'angolo in alto a destra.

  3. Nella pagina Ospita la tua app web, scegli il tuo provider Git, quindi scegli Continua.

  4. Nella pagina Add repository completa le seguenti operazioni:

    1. Scegli il nome del tuo repository dall'elenco dei repository aggiornati di recente.

    2. Per Branch (Istanze), scegliere il nome del ramo da utilizzare.

    3. Seleziona Collegare un monorepo? Scegli una cartella.

    4. Inserisci il percorso della tua app nel tuo monorepo, ad esempioapps/app1.

    5. Seleziona Successivo.

  5. 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 unamplify.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.

    
                Schermata della pagina Configura le impostazioni di build nella console Amplify.
  6. Seleziona Successivo.

  7. 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
  1. AccediAWS Management Console e apri la console Amplify.

  2. Scegli il nome dell'app per cui impostare la variabile di ambiente.

  3. Nel riquadro di navigazione, scegliere Impostazioni app, quindi selezionare Variabili di ambiente.

  4. Nella pagina Variabili di ambiente, scegli Gestisci variabili.

  5. Nella sezione Gestione variabili completa le seguenti operazioni:

    1. Scegli Aggiungi variabile.

    2. In Variabile, inserisci la chiaveAMPLIFY_MONOREPO_APP_ROOT.

    3. In Valore, inserisci il percorso dell'app, ad esempioapps/app1.

    4. Per Branch, per impostazione predefinita Amplify applica la variabile di ambiente a tutti i rami.

  6. Seleziona Salva.