Funzionalità di AWS CodeBuild

Perché utilizzare CodeBuild?

AWS CodeBuild è un servizio di integrazione continua completamente gestito. È sufficiente specificare il percorso del codice sorgente e le impostazioni della build, e CodeBuild eseguirà script di build per compilare e testare il codice nonché creare pacchetti. Non è necessario effettuare il provisioning dei server né scalarli, così come non occorre installare, configurare e gestire prodotti software.

Creazione di build e verifica di codice

CodeBuild esegue le build in ambienti appositi preconfigurati che contengono il sistema operativo, il runtime in sintassi di programmazione e gli strumenti di creazione di build (ad esempio Apache Maven, Gradle e npm) necessari per completare l'attività. È sufficiente specificare il percorso in cui si trova il codice sorgente e le relative impostazioni, ad esempio l'ambiente di build da impiegare e i comandi da eseguire durante l'esecuzione. AWS CodeBuild crea una build con il codice fornito e memorizza gli artefatti in un bucket Amazon S3; in alternativa è possibile utilizzare un comando build per caricarli in un repository di artefatti. Sarà possibile creare, gestire e avviare progetti di compilazione utilizzando AWS CodePipeline, la Console di gestione AWS, AWS CLI o gli SDK.

AWS CodeBuild offre ambienti di build per Java, Python, Node.js, Ruby, Go, Android, .NET Core for Linux e Docker.

Consulta l'elenco completo degli ambienti di compilazione preconfigurati

È possibile importare i propri ambienti per utilizzarli con AWS CodeBuild, ad esempio per Microsoft .NET Framework. Runtime e strumenti per la build possono essere importati sotto forma di pacchetti in un'immagine Docker e caricati in un repository di Docker Hub oppure in Amazon Elastic Container Registry (Amazon ECR). Al momento della creazione di un progetto di build, è possibile specificare il percorso dell'immagine Docker che CodeBuild utilizzerà come configurazione del progetto. 

Impostazioni configurabili

È possibile definire comandi specifici da far eseguire a CodeBuild, ad esempio l'installazione di pacchetti di strumenti, l'esecuzione di test unitari e la creazione di pacchetti di codice. La specifica della build è un file YAML che consente di scegliere i comandi da eseguire in ogni fase del processo di creazione della build e altre impostazioni. Iniziare a usare CodeBuild è semplice grazie a file di specifiche di esempio per scenari frequenti, quali la creazione di build tramite Apache Maven, Gradle o npm.

Consulta i file di esempio delle specifiche di compilazione

È possibile selezionare il tipo di elaborazione più adatto alle esigenze di sviluppo. Sono disponibili tre livelli di capacità di elaborazione, con diverse specifiche di CPU e memoria. In questo modo potrai assegnare maggiore potenza di CPU e maggiore memoria di elaborazione se la build è urgente, oppure livelli più bassi se i requisiti sono meno stringenti.  CodeBuild supporta i sistemi operativi Linux e Windows.

La creazione di build in CodeBuild può essere avviata in diversi modi. Ad esempio, è possibile avviare le build in CodeBuild dopo avere effettuato la connessione ad AWS CodeCommit, GitHub, GitHub Enterprise, Bitbucket o Amazon Simple Storage Service (Amazon S3). È anche possibile connettere CodeBuild e il repository sorgente con AWS CodePipeline, che avvierà automaticamente la creazione di build ogni volta che si esegue il commit di una modifica.

Domande generali

Il modello di utilizzo on demand e le tariffe con pagamento in base al consumo di CodeBuild consentono di creare build e integrare codice con maggiore frequenza, perciò sarà possibile risolvere i bug quando è più semplice, all'inizio della fase di sviluppo. CodeBuild può essere integrato con i flussi di lavoro di integrazione continua e di distribuzione continua (CI/CD) esistenti tramite le integrazioni di origine, i comandi build oppure l'integrazione con Jenkins. Inoltre, CodeBuild appartiene alla famiglia di servizi di codice di AWS, che permette di sperimentare l'integrazione e la distribuzione continue. È possibile collegare CodeBuild a CodePipeline, che automatizza la creazione e il test del codice in CodeBuild ogni volta che si esegue il commit di una modifica nel repository di origine. È possibile creare un flusso di lavoro di integrazione continua collegando il repository di origine e selezionando CodeBuild come origine di build tramite la procedura guidata di CodePipeline.

Il flusso di integrazione continua può essere esteso con facilità con la distribuzione continua utilizzando CodePipeline e integrando strumenti per il testing di caricamento o interfaccia utente di terze parti, ad esempio BlazeMeter o Ghost Inspector, che vengano avviati quando CodeBuild completa la build. Quindi sarà possibile eseguire l'implementazione su istanze o server on-premises con i servizi integrati con CodePipeline, tra cui AWS CodeDeploy e AWS Elastic Beanstalk.

Gli artefatti di compilazione vengono crittografati con chiavi personalizzate specifiche gestite da Servizio AWS di gestione delle chiavi (AWS KMS). CodeBuild si integra con AWS Identity and Access Management per offrire controlli granulari su quali utenti e risorse AWS possano accedere alle build.

Per visualizzare informazioni dettagliate sulle build, è possibile utilizzare la console CodeBuild, l'interfaccia della linea di comando AWS (AWS CLI), gli SDK e le API o Amazon CloudWatch. CodeBuild visualizza informazioni quali ora di avvio e di interruzione, stato e ID di commit. Il servizio permette anche di inoltrare i log di build ad Amazon CloudWatch. CloudWatch può essere impiegato per creare un pannello di controllo personalizzato, impostare un allarme di Amazon CloudWatch, risolvere i problemi di creazione di build ed esaminarne i log.

Puoi creare notifiche per eventi che incidono sui progetti di build. Le notifiche arriveranno sotto forma di notifiche Amazon Simple Notification Service (Amazon SNS). Ogni notifica include un messaggio sullo stato e un link alle risorse il cui evento ha generato la notifica in questione.