Personalizzazione dell'immagine di costruzione - AWS Amplify Ospitare

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à.

Personalizzazione dell'immagine di costruzione

Puoi utilizzare un'immagine di build personalizzata per fornire un ambiente di compilazione personalizzato per un'app Amplify. Se hai dipendenze specifiche che richiedono molto tempo per essere installate durante una build utilizzando il contenitore predefinito di Amplify, puoi creare la tua immagine Docker e farvi riferimento durante una build. Le immagini possono essere ospitate su Amazon Elastic Container Registry Public.

Affinché un'immagine di build personalizzata funzioni come immagine di build Amplify, deve soddisfare i seguenti requisiti.

Requisiti relativi all'immagine di costruzione personalizzata

  1. Una distribuzione Linux che supporta la libreria GNU C (glibc), come Amazon Linux, compilata per l'architettura x86-64.

  2. c URL: Quando lanciamo la tua immagine personalizzata, scarichiamo il nostro build runner nel tuo contenitore e quindi richiediamo che c sia presente. URL Se manca questa dipendenza, la build fallisce immediatamente senza alcun output poiché il nostro build-runner non è in grado di produrre alcun output.

  3. Git: per clonare il tuo repository Git, è necessario che Git sia installato nell'immagine. Se manca questa dipendenza, la fase di clonazione del repository avrà esito negativo.

  4. Apri SSH: per clonare in modo sicuro il tuo repository, richiediamo SSH a Open di configurare temporaneamente la chiave durante la SSH compilazione. Il SSH pacchetto Open fornisce i comandi necessari al build runner per eseguire questa operazione.

  5. Bash e The Bourne Shell: queste due utilità vengono utilizzate per eseguire comandi in fase di compilazione. Se non sono installate, le tue build potrebbero fallire prima di iniziare.

  6. Node.js+ NPM: il nostro build runner non installa Node. Invece, si basa su Node e sull'installazione nell'immagine. NPM Questo è necessario solo per le build che richiedono NPM pacchetti o comandi specifici del nodo. Tuttavia, consigliamo vivamente di installarli perché, quando sono presenti, il build runner Amplify può utilizzare questi strumenti per migliorare l'esecuzione della build. La funzione di sovrascrittura dei pacchetti di Amplify consente di NPM installare il pacchetto Hugo-extended quando si imposta un override per Hugo.

I seguenti pacchetti non sono necessari, ma consigliamo vivamente di installarli.

  1. NVM (Node Version Manager): Si consiglia di installare questo gestore di versioni se è necessario gestire diverse versioni di Node. Quando si imposta un override, la funzione di sovrascrittura dei pacchetti di Amplify utilizza NVM per modificare le versioni di Node.js prima di ogni build.

  2. Wget: Amplify può utilizzare Wget utilità per scaricare file durante il processo di compilazione. Ti consigliamo di installarlo nella tua immagine personalizzata.

  3. Tar: Amplify può usare il Tar utilità per decomprimere i file scaricati durante il processo di compilazione. Ti consigliamo di installarlo nella tua immagine personalizzata.

Configurazione di un'immagine di build personalizzata per un'app

Utilizza la seguente procedura per configurare un'immagine di build personalizzata per un'applicazione nella console Amplify.

Per configurare un'immagine di build personalizzata ospitata in Amazon ECR
  1. Consulta la Guida introduttiva alla Amazon ECR Public User Guide per configurare un repository Amazon ECR Public con un'immagine Docker.

  2. Accedi AWS Management Console e apri la console Amplify.

  3. Scegli l'app per cui desideri configurare un'immagine di build personalizzata.

  4. Nel pannello di navigazione, scegli Hosting, Crea impostazioni.

  5. Nella pagina delle impostazioni di creazione, nella sezione Impostazioni dell'immagine di creazione, scegli Modifica.

  6. Nella pagina Modifica le impostazioni dell'immagine di costruzione, espandi il menu Crea immagine e scegli Immagine di creazione personalizzata.

  7. Inserisci il nome del repository Amazon ECR Public che hai creato nel primo passaggio. Qui è dove è ospitata l'immagine della tua build. Ad esempio, se il nome del tuo repository è ecr-examplerepo, devi inserire. public.ecr.aws/xxxxxxxx/ecr-examplerepo

  8. Seleziona Salva.

Utilizzo di versioni specifiche di pacchetti e dipendenze nell'immagine di build

Gli aggiornamenti live dei pacchetti consentono di specificare le versioni dei pacchetti e delle dipendenze da utilizzare nell'immagine di build predefinita di Amplify. L'immagine di build predefinita include diversi pacchetti e dipendenze preinstallati (ad esempio Hugo, Amplify, Yarn, ecc.). CLI Con gli aggiornamenti live dei pacchetti puoi sovrascrivere la versione di queste dipendenze e specificare una versione specifica o assicurarti che l'ultima versione sia sempre installata.

Se gli aggiornamenti live dei pacchetti sono abilitati, prima dell'esecuzione della build, il build runner aggiorna (o esegue il downgrade) delle dipendenze specificate. Ciò aumenta il tempo di compilazione proporzionalmente al tempo necessario per aggiornare le dipendenze, ma il vantaggio è che puoi assicurarti che venga utilizzata la stessa versione di una dipendenza per creare la tua app.

avvertimento

L'impostazione della versione di Node.js sulla versione più recente causa il fallimento delle build. È invece necessario specificare una versione esatta di Node.js, ad esempio 1821.5, ov0.1.2.

Per configurare gli aggiornamenti dei pacchetti in tempo reale
  1. Accedi AWS Management Console e apri la console Amplify.

  2. Scegli l'app per cui desideri configurare gli aggiornamenti dei pacchetti in tempo reale.

  3. Nel pannello di navigazione, scegli Hosting, Crea impostazioni.

  4. Nella pagina delle impostazioni di creazione, nella sezione Impostazioni dell'immagine di creazione, scegli Modifica.

  5. Nella pagina Modifica le impostazioni dell'immagine di costruzione, elenco Aggiornamenti dei pacchetti in tempo reale, scegli Aggiungi nuovo.

  6. Per Package, seleziona la dipendenza da sostituire.

  7. Per Versione, mantieni l'ultima versione predefinita o inserisci una versione specifica della dipendenza. Se utilizzi la versione più recente, la dipendenza verrà sempre aggiornata all'ultima versione disponibile.

  8. Seleziona Salva.