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à.
Configurazione delle impostazioni di compilazione
Quando distribuisci un'app con Amplify Hosting, rileva automaticamente il framework front-end e le impostazioni di build associate esaminando ilpackage.json
file nel tuo repository. Per memorizzare le impostazioni compilazione dell'app:
-
Salva le impostazioni di build nella console Amplify: la console Amplify rileva automaticamente le impostazioni di build e le salva in modo che sia possibile accedervi tramite la console Amplify. Amplify applica queste impostazioni a tutte le tue filiali a meno che non ci sia un
amplify.yml
file archiviato nel tuo repository. -
Salva le impostazioni di compilazione nel tuo repository: scarica il
amplify.yml
file e aggiungilo alla radice del repository.
Puoi modificare le impostazioni di build di un'app nella console Amplify scegliendo Impostazioni app, Impostazioni di creazione. Le impostazioni di compilazione vengono applicate a tutti i rami dell'app, ad eccezione dei rami che hanno unamplify.yml
file salvato nel repository.
Le impostazioni di compilazione sono visibili nel menu delle impostazioni dell'app della console Amplify solo quando un'app è configurata per la distribuzione continua e connessa a un repository git. Per istruzioni su questo tipo di distribuzione, vedi Guida introduttiva al codice esistente.
Specifica di nuovo compilazione
La specifica di build YAML contiene una raccolta di comandi di build e relative impostazioni che Amplify utilizza per eseguire la build. Lo YAML è strutturato come segue:
version: 1 env: variables: key: value backend: phases: preBuild: commands: - *enter command* build: commands: - *enter command* postBuild: commands: - *enter command* frontend: phases: preBuild: commands: - cd react-app - npm ci build: commands: - npm run build 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*
-
versione - Rappresenta il numero di versione di Amplify YAML.
-
ApRoot: il percorso all'interno del repository in cui risiede l'applicazione. Ignorato a meno che non vengano definite più applicazioni.
-
env: aggiungere variabili d'ambiente in questa sezione. Si possono aggiungere variabili d'ambiente anche dalla console.
-
backend: esegue i comandi di Amplify CLI per il provisioning di un back-end, l'aggiornamento di funzioni Lambda o schemi GraphQL, come parte di una distribuzione continua. Scopri come distribuire un back-end con il front-end.
-
frontend: esegue i comandi di compilazione del front-end.
-
test - Esegui comandi durante una fase di test. Scopri come aggiungere test alla tua app.
-
- Il frontend, il backend e il test hanno tre fasi che rappresentano i comandi eseguiti durante ogni sequenza della build.
-
-
preBuild: lo script di pre-compilazione viene eseguito prima dell'inizio effettivo della compilazione, ma dopo aver installato le dipendenze.
-
build: i comandi di compilazione.
-
postBuild: lo script post-compilazione viene eseguito al termine della compilazione e dopo aver copiato tutti gli artefatti necessari nella directory di output.
-
-
artifacts>base-directory: la directory in cui si trovano artefatti di compilazione.
-
artifacts>files: specificare i file dall'artefatto da distribuire. **/* per includerli tutti.
-
cache: il campo cache di buildspec viene utilizzato per memorizzare nella cache le dipendenze in fase di compilazione come la cartella node_modules e viene suggerito automaticamente in base al gestore di pacchetti e al framework in cui è integrata l'app del cliente. Durante la prima build, tutti i percorsi qui vengono memorizzati nella cache e nelle build successive regonfiamo la cache e utilizziamo quelle dipendenze memorizzate nella cache ove possibile per accelerare i tempi di compilazione.
Impostazioni di build specifiche per il ramo
Puoi utilizzare lo scripting della shell Bash per specificare le impostazioni di compilazione specifiche per il ramo. Ad esempio, lo script seguente utilizza la variabile di ambiente di sistema $AWS_BRANCH per eseguire un set di comandi se il nome del ramo è main e un diverso set di comandi se il nome del ramo è dev.
frontend: phases: build: commands: - if [ "${AWS_BRANCH}" = "main" ]; then echo "main branch"; fi - if [ "${AWS_BRANCH}" = "dev" ]; then echo "dev branch"; fi
Navigazione
Per monorepos, gli utenti vogliono potercd
accedere a una cartella per eseguire la build. Dopo aver eseguito ilcd
comando, si applica a tutte le fasi della compilazione, quindi non è necessario ripetere il comando in fasi separate.
version: 1 env: variables: key: value frontend: phases: preBuild: commands: - cd react-app - npm ci build: commands: - npm run build
Distribuzione del backend con il front-end
IlamplifyPush
comando è uno script di supporto che ti aiuta con le distribuzioni di backend. Le impostazioni di compilazione riportate di seguito determinano automaticamente l'ambiente back-end corretto da distribuire per il ramo corrente.
version: 1 env: variables: key: value backend: phases: build: commands: - amplifyPush --simple
Impostazione della cartella di output
Le seguenti impostazioni di compilazione impostano la directory di output per la cartella pubblica.
frontend: phases: commands: build: - yarn run build artifacts: baseDirectory: public
Installazione di pacchetti come parte di una build
È possibile utilizzare iyarn
comandinpm
or per installare i pacchetti durante la compilazione.
frontend: phases: build: commands: - npm install -g pkg-foo - pkg-foo deploy - yarn run build artifacts: baseDirectory: public
Utilizzo di un registro npm privato
Si possono aggiungere riferimenti a un registro privato nelle impostazioni di compilazione oppure come variabile d'ambiente.
build: phases: preBuild: commands: - npm config set <key> <value> - npm config set registry https://registry.npmjs.org - npm config set always-auth true - npm config set email hello@amplifyapp.com - yarn install
Installazione di pacchetti del sistema operativo
È possibile installare pacchetti del sistema operativo per le dipendenze mancanti.
build: phases: preBuild: commands: - yum install -y <package>
Archiviazione della coppia chiave-valore per ogni compilazione
envCache
Fornisce l'archiviazione dei valori chiave in fase di compilazione. I valori memorizzati inenvCache
possono essere modificati solo durante una compilazione e possono essere riutilizzati nella build successiva. Usando ilenvCache
, possiamo archiviare informazioni sull'ambiente distribuito e renderle disponibili al contenitore di build nelle build successive. A differenza dei valori memorizzati inenvCache
, le modifiche alle variabili di ambiente durante una build non vengono mantenute nelle build future.
Esempio di utilizzo:
envCache --set <key> <value> envCache --get <key>
Salta la compilazione per un commit
Per saltare una compilazione automatica su un particolare commit, includi il testo [skip-cd] alla fine del messaggio di commit.
Disabilita compilazioni compilazioni
Puoi configurare Amplify per disabilitare le build automatiche su ogni commit di codice. Per configurare, scegli Impostazioni app, Generali, quindi scorri fino alla sezione Filiali che elenca le filiali collegate. Seleziona un ramo, quindi scegli Azione, Disabilita la creazione auto. Gli ulteriori commit per quel ramo non attiveranno più una nuova compilazione.
Abilita o disabilita la creazione e la distribuzione di frontend basati su diff
Puoi configurare Amplify per utilizzare build di frontend basate su diff. Se abilitato, all'inizio di ogni build Amplify tenta di eseguire un diff sulla tuaappRoot
cartella o sulla/src/
cartella per impostazione predefinita. Se Amplify non rileva alcuna differenza, salta le fasi di compilazione del frontend, test (se configurato) e distribuzione e non aggiorna l'app ospitata.
Per configurare, compilare e distribuire un frontend basato su diff
-
AccediAWS Management Console e apri la console Amplify
. -
Scegli l'app per cui configurare la build e la distribuzione del frontend basata su diff.
-
Nel riquadro di navigazione, scegli Impostazioni app, Variabili di ambiente.
-
Nella sezione Variabili d'ambiente, scegli Gestisci variabili.
-
La procedura per configurare la variabile di ambiente varia a seconda che si stia abilitando o disattivando la creazione e la distribuzione del frontend basate su diff.
-
Per abilitare la creazione e la distribuzione di frontend basati su diff
-
Nella sezione Gestisci variabili, in Variabile, inserisci
AMPLIFY_DIFF_DEPLOY
. -
In Valore, specifica
true
.
-
-
Per disabilitare la compilazione e la distribuzione del frontend basato su diff
-
Completa una delle seguenti operazioni:
-
Nella sezione Gestisci variabili, individua
AMPLIFY_DIFF_DEPLOY
. In Valore, specificafalse
. -
Rimuovi la variabile di
AMPLIFY_DIFF_DEPLOY
ambiente.
-
-
-
Facoltativamente, puoi impostare la variabile diAMPLIFY_DIFF_DEPLOY_ROOT
ambiente in modo che sostituisca il percorso predefinito con un percorso relativo alla radice del tuo repository, ad esempiodist
.
Abilita o disabilita le build di backend basate su diff
Puoi configurare Amplify Hosting per utilizzare build di backend basate su diff utilizzando la variabile diAMPLIFY_DIFF_BACKEND
ambiente. Quando abiliti le build di backend basate su diff, all'inizio di ogni build Amplify tenta di eseguire un diff nellaamplify
cartella del tuo repository. Se Amplify non trova alcuna differenza, salta la fase di creazione del backend e non aggiorna le risorse del backend. Se il progetto non ha unaamplify
cartella nel repository, Amplify ignora il valore della variabile diAMPLIFY_DIFF_BACKEND
ambiente.
Se attualmente hai comandi personalizzati specificati nelle impostazioni di compilazione della fase di backend, le build condizionali del backend non funzioneranno. Se desideri che questi comandi personalizzati vengano eseguiti, devi spostarli nella fase di frontend delle impostazioni di compilazione nelamplify.yml
file dell'app.
Per configurare build di backend basate su diff
-
AccediAWS Management Console e apri la console Amplify
. -
Scegli l'app per cui configurare le build di backend basate su diff.
-
Nel riquadro di navigazione, scegli Impostazioni app, Variabili di ambiente.
-
Nella sezione Variabili d'ambiente, scegli Gestisci variabili.
-
La procedura per configurare la variabile di ambiente varia a seconda che si stiano abilitando o disattivando le build di backend basate su diff.
-
Per abilitare le build di backend basate su diff
-
Nella sezione Gestisci variabili, in Variabile, inserisci
AMPLIFY_DIFF_BACKEND
. -
In Valore, specifica
true
.
-
-
Per disabilitare le build di backend basate su diff
-
Completa una delle seguenti operazioni:
-
Nella sezione Gestisci variabili, individua
AMPLIFY_DIFF_BACKEND
. In Valore, specificafalse
. -
Rimuovi la variabile di
AMPLIFY_DIFF_BACKEND
ambiente.
-
-
-