Esempio di Amazon Elastic File System per AWS CodeBuild - AWS CodeBuild

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

Esempio di Amazon Elastic File System per AWS CodeBuild

Potresti voler creare le tue AWS CodeBuild build su Amazon Elastic File System, un servizio di file scalabile e condiviso per istanze AmazonEC2. La capacità di storage di Amazon EFS è elastica, quindi aumenta o si riduce man mano che i file vengono aggiunti e rimossi. Ha una semplice interfaccia di servizi Web che ti permette di creare e configurare i file system. Gestisce anche tutta l'infrastruttura di storage dei file, quindi non devi preoccuparti di distribuire, applicare patch o mantenere le configurazioni dei file system. Per ulteriori informazioni, consulta Cos'è Amazon Elastic File System? nella Amazon Elastic File System User Guide.

Questo esempio mostra come configurare un CodeBuild progetto in modo che venga montato e quindi creato un'applicazione Java su un EFS file system Amazon. Prima di iniziare, è necessario disporre di un'applicazione Java pronta per la creazione che venga caricata in un bucket di input S3 o in un AWS CodeCommit repository GitHub Enterprise Server o Bitbucket. GitHub

I dati in transito per il file system sono crittografati. Per crittografare i dati in transito utilizzando un'immagine diversa, consulta Crittografia dei dati in transito.

Utilizzo AWS CodeBuild con Amazon Elastic File System

L'esempio illustra i quattro passaggi di alto livello necessari per utilizzare Amazon EFS con AWS CodeBuild. Questi sono:

  1. Crea un cloud privato virtuale (VPC) nel tuo AWS account.

  2. Crea un file system che lo utilizziVPC.

  3. Crea e crea un CodeBuild progetto che utilizzi ilVPC. Il CodeBuild progetto utilizza quanto segue per identificare il file system:

    • Un identificatore univoco del file system. Si sceglie l'identificatore quando si specifica il file system nel progetto di compilazione.

    • L'ID del file system. L'ID viene visualizzato quando visualizzi il file system nella EFS console Amazon.

    • Un punto di montaggio. Questa è una directory nel contenitore Docker che monta il file system.

    • Opzioni di montaggio. Includono dettagli su come montare il file system.

  4. Esamina il progetto di compilazione per assicurarti che siano stati generati i file e le variabili di progetto corretti.

Nota

Un file system creato in Amazon EFS è supportato solo su piattaforme Linux.

Fase 1: Creare un VPC utilizzo AWS CloudFormation

Crea il tuo VPC con un AWS CloudFormation modello.

  1. Segui le istruzioni Modello VPC AWS CloudFormation da utilizzare AWS CloudFormation per creare unVPC.

    Nota

    Il file VPC creato da questo AWS CloudFormation modello ha due sottoreti private e due sottoreti pubbliche. È necessario utilizzare solo sottoreti private quando si utilizza AWS CodeBuild per montare il file system creato in Amazon. EFS Se si utilizza una delle sottoreti pubblici, la build ha esito negativo.

  2. Accedi a AWS Management Console e apri la VPC console Amazon all'indirizzo https://console.aws.amazon.com/vpc/.

  3. Scegli quello con VPC cui hai creato AWS CloudFormation.

  4. Nella scheda Descrizione, prendi nota del tuo nome VPC e del relativo ID. Questo ID sarà necessario al momento della creazione del progetto AWS CodeBuild più avanti in questo esempio.

Fase 2: crea un file system Amazon Elastic File System con VPC

Crea un semplice EFS file system Amazon per questo esempio utilizzando il VPC file creato in precedenza.

  1. Accedi a AWS Management Console e apri la EFS console Amazon all'indirizzo https://console.aws.amazon.com/efs/.

  2. Scegliere Create file system (Crea file system).

  3. Da VPC, scegli il VPC nome che hai annotato in precedenza in questo esempio.

  4. Lasciare le zone di disponibilità associate alle sottoreti selezionate.

  5. Selezionare Next Step (Fase successiva).

  6. In Aggiungi tag, per la chiave Name predefinita, in Value, inserisci il nome del tuo EFS file system Amazon.

  7. Mantenere Bursting e General Purpose (Utilizzo generico) selezionati come performance predefinita e modalità di throughput, quindi scegliere Next Step (Fase successiva).

  8. Per Configure client access (Configura accesso client), scegliere Next Step (Passaggio successivo).

  9. Scegliere Create File System (Crea file system).

  10. (Facoltativo) Ti consigliamo di aggiungere una policy al tuo EFS file system Amazon che applichi la crittografia dei dati in transito. Nella EFS console Amazon, scegli Politica del file system, scegli Modifica, seleziona la casella Applica la crittografia in transito per tutti i client, quindi scegli Salva.

Passaggio 3: creare un CodeBuild progetto da utilizzare con Amazon EFS

Crea un AWS CodeBuild progetto che utilizzi quello che VPC hai creato in precedenza in questo esempio. Quando la build viene eseguita, monta il EFS file system Amazon creato in precedenza. Successivamente, memorizza il file.jar creato dall'applicazione Java nella directory del punto di montaggio del file system.

  1. Apri la AWS CodeBuild console su https://console.aws.amazon.com/codesuite/codebuild/home.

  2. Nel riquadro di navigazione scegliere Build projects (Progetti di compilazione), quindi Create build project (Crea progetto di compilazione).

  3. In Project name (Nome progetto) immettere un nome per il progetto.

  4. In Source provider (Provider di origine) scegliere il repository contenente l'applicazione Java che si desidera compilare.

  5. Inserisci le informazioni, ad esempio un repositoryURL, da utilizzare per localizzare CodeBuild l'applicazione. Le opzioni variano a seconda del provider di origine. Per ulteriori informazioni, consulta Choose source provider.

  6. In Environment image (Immagine ambiente) scegliere Managed image (Immagine gestita).

  7. In Operating system (Sistema operativo), scegliere Amazon Linux 2.

  8. In Runtime(s) (Runtime), seleziona Standard.

  9. Da Image, scegli aws/codebuild/amazonlinux2-x86_64-standard:4.0.

  10. Da Environment type (Tipo ambiente), seleziona Linux.

  11. In Service role (Ruolo del servizio) scegliere New service role (Nuovo ruolo del servizio). In Nome ruolo, inserisci un nome per il ruolo creato per te. CodeBuild

  12. Espandere Additional configuration (Configurazione aggiuntiva).

  13. Seleziona Enable this flag if you want to build Docker images or want your builds to get elevated privileges (Abilita questo flag se desideri creare immagini Docker o se desideri che le build ottengano privilegi elevati).

    Nota

    Per impostazione predefinita, il daemon Docker è abilitato per le versioni non compilate. VPC Se desideri utilizzare i contenitori Docker per le VPC build, consulta Runtime Privilege e Linux Capabilities sul sito Web di Docker Docs e abilita la modalità privilegiata. Inoltre, Windows non supporta la modalità privilegiata.

  14. Da VPC, scegli l'VPCID.

  15. Da Sottoreti, scegli una o più sottoreti private associate alle tue. VPC È necessario utilizzare sottoreti private in una build che monta un file system AmazonEFS. Se si utilizza una sottorete pubblica, la build ha esito negativo.

  16. Da Security Group (Gruppo di sicurezza), scegliere il gruppo di sicurezza predefinito.

  17. In File Systems (File system), immettere le seguenti informazioni:

    • Per Identifier, immettere un identificatore univoco del file system. Deve contenere meno di 129 caratteri e contenere solo caratteri alfanumerici e caratteri di sottolineatura. CodeBuild utilizza questo identificatore per creare una variabile di ambiente che identifica il file system elastico. Il formato della variabile di ambiente è CODEBUILD_<file_system_identifier> in lettere maiuscole. Ad esempio, se si immette my_efs, la variabile di ambiente è CODEBUILD_MY_EFS.

    • Per ID, scegliere l'ID del file system.

    • (Facoltativo) Inserite una directory nel file system. CodeBuild monta questa directory. Se si lascia vuoto il percorso della directory, CodeBuild monta l'intero file system. Il percorso del file è relativo rispetto alla root del file system.

    • Per Mount point, inserisci il percorso assoluto della directory nel contenitore di build in cui è montato il file system. Se questa directory non esiste, la CodeBuild crea durante la compilazione.

    • (Facoltativo) Immettere le opzioni di montaggio. Se lasci vuote le opzioni di montaggio, CodeBuild utilizza le opzioni di montaggio predefinite:

      nfsvers=4.1 rsize=1048576 wsize=1048576 hard timeo=600 retrans=2

      Per ulteriori informazioni, consulta le opzioni di NFS montaggio consigliate nella Amazon Elastic File System User Guide.

  18. Per Build specification (Specifiche di compilazione) scegliere Insert build commands (Inserisci comandi di compilazione) e selezionare Switch to editor (Passa a editor).

  19. Inserisci i seguenti comandi build spec nell'editor. Sostituire <file_system_identifier> con l'identificatore inserito nel passaggio 17. Utilizzare lettere maiuscole (ad esempio, CODEBUILD_MY_EFS).

    version: 0.2 phases: install: runtime-versions: java: corretto11 build: commands: - mvn compile -Dgpg.skip=true -Dmaven.repo.local=$CODEBUILD_<file_system_identifier>
  20. Utilizzare i valori di default per tutte le altre impostazioni, quindi scegliere Create build project (Crea progetto di compilazione). Al termine della compilazione viene visualizzata la pagina della console per il progetto.

  21. Selezionare Start build (Avvia compilazione).

Passaggio 4: rivedi il progetto di compilazione

Dopo aver creato il AWS CodeBuild progetto:

  • Hai un file.jar creato dalla tua applicazione Java che è integrato nel tuo EFS file system Amazon nella tua directory mount point.

  • Una variabile di ambiente che identifichi il file system viene creata utilizzando l'identificatore del file system immesso al momento della creazione del progetto.

Per ulteriori informazioni, consulta Mounting file system nella Amazon Elastic File System User Guide.