Utilizzo della CLI EB con AWS CodeBuild - AWS Elastic Beanstalk

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

Utilizzo della CLI EB con AWS CodeBuild

AWS CodeBuild compila il codice sorgente, esegue unit test e prepara artefatti pronti per essere distribuiti. Puoi utilizzare CodeBuild con l'interfaccia a riga di comando EB per automatizzare la creazione dell'applicazione dal codice sorgente. La creazione dell'ambiente e ogni implementazione successiva inizia con una fase di compilazione e quindi di distribuzione dell'applicazione risultante.

Nota

In alcune regioni CodeBuild non è disponibile. L'integrazione tra Elastic Beanstalk e CodeBuild non funziona in queste regioni.

Per informazioni sui servizi AWS offerti in ciascuna regione, consulta la Tabella delle regioni.

Creazione di un'applicazione

Per creare un'applicazione Elastic Beanstalk che utilizza CodeBuild
  1. Includi il file di specifiche di compilazione CodeBuild buildspec.yml nella cartella dell'applicazione.

  2. Aggiungi al file una voce eb_codebuild_settings con opzioni specifiche per Elastic Beanstalk.

  3. Eseguire eb init nella cartella.

    Nota

    Non utilizzare i caratteri punto (.) o spazio ( ) in Application name (Nome applicazione) quando utilizzi la CLI EB con CodeBuild.

Elastic Beanstalk estende il formato del file delle specifiche di compilazione CodeBuild per includere le seguenti impostazioni aggiuntive:

eb_codebuild_settings: CodeBuildServiceRole: role-name ComputeType: size Image: image Timeout: minutes
CodeBuildServiceRole

L'ARN o il nome del ruolo di servizio (IAM) AWS Identity and Access Management che CodeBuild utilizza per interagire con i servizi dipendenti AWS per tuo conto. Questo valore è obbligatorio. Se viene omesso, qualsiasi comando eb create o eb deploy eseguito successivamente non riesce.

Per ulteriori informazioni sulla creazione di un ruolo di servizio per CodeBuild, consultacreazione di un ruolo di servizio CodeBuild nella Guida per l'utente AWS CodeBuild.

Nota

Hai anche bisogno delle autorizzazioni per eseguire le operazioni in CodeBuild. La policy utente gestita AdministratorAccess-AWSElasticBeanstalk di Elastic Beanstalk include tutte le autorizzazioni necessarie per le operazioni in CodeBuild. Se non usi la policy gestita, assicurati di consentire le seguenti autorizzazioni nella tua policy utente.

"codebuild:CreateProject", "codebuild:DeleteProject", "codebuild:BatchGetBuilds", "codebuild:StartBuild"

Per informazioni dettagliate, consulta Gestione delle policy utente Elastic Beanstalk.

ComputeType

La quantità di risorse utilizzate dal container Docker nell'ambiente di compilazione CodeBuild. I valori validi sono BUILD_GENERAL1_SMALL, BUILD_GENERAL1_MEDIUM e BUILD_GENERAL1_LARGE.

Image

Il nome dell'immagine Docker Hub o Amazon ECR utilizzata da CodeBuild per l'ambiente di compilazione. Questa immagine Docker deve contenere tutti gli strumenti e le librerie runtime necessari per compilare il codice e deve corrispondere alla piattaforma di destinazione dell'applicazione. CodeBuild gestisce e mantiene un set di immagini specificamente concepite per essere utilizzate con Elastic Beanstalk. Ti consigliamo di utilizzare una di queste immagini. Per ulteriori informazioni, consulta Immagini Docker fornite da CodeBuild nella Guida per l'utente AWS CodeBuild.

Il valore Image è facoltativo. Se viene omesso, il comando eb init tenta di scegliere l'immagine che meglio corrisponde alla piattaforma di destinazione. Inoltre, se esegui eb init in modalità interattiva e l'immagine non viene scelta automaticamente, ti verrà richiesto di sceglierne una. Alla fine di una corretta inizializzazione, eb init scrive l'immagine scelta nel file buildspec.yml.

Timeout

Durata, in minuti, dell'esecuzione della compilazione CodeBuild prima del timeout. Questo valore è facoltativo. Per dettagli sui valori validi e predefiniti, consulta Creazione di un progetto di compilazione in CodeBuild.

Nota

Questo timeout controlla la durata massima di un'esecuzione CodeBuild rispettata dall'EB CLI come parte del primo passaggio per creare una versione dell'applicazione. È diverso dal valore che puoi specificare con l'opzione --timeout del comando eb create o eb deploy. L'ultimo valore controlla la durata massima per l'interfaccia a riga di comando di EB in attesa della creazione o dell'aggiornamento dell'ambiente.

Compilazione e distribuzione del codice dell'applicazione

Ogni volta che è necessario distribuire il codice dell'applicazione, l'interfaccia a riga di comando EB utilizza CodeBuild per eseguire una build, quindi distribuisce gli artefatti della build risultanti nell'ambiente. Ciò accade quando crei un ambiente Elastic Beanstalk per l'applicazione usando il comando eb create e ogni volta che distribuisci successivamente le modifiche del codice nell'ambiente usando il comando eb deploy.

Se il passaggio CodeBuild non riesce, non inizia la creazione o la distribuzione dell'ambiente.