Domande frequenti su AWS CodeBuild

Domande generali

AWS CodeBuild è un servizio di integrazione continua completamente gestito nel cloud. CodeBuild compila il codice sorgente, esegue test e prepara pacchetti pronti per essere distribuiti. Con CodeBuild, non è necessario eseguire il provisioning, gestire e scalare i propri server di compilazione. CodeBuild viene dimensionato continuamente ed elabora contemporaneamente compilazioni diverse per evitare code. Puoi iniziare a utilizzare CodeBuild velocemente con ambienti di compilazione predefiniti oppure puoi creare ambienti di compilazione personalizzati che utilizzano strumenti di compilazione specifici. Con CodeBuild paghi al minuto.

Invece di configurare, correggere e gestire il software del server di compilazione, puoi usare il servizio completamente gestito di CodeBuild. È sufficiente inviare le attività di compilazione a CodeBuild che le esegue in contenitori di calcolo temporanei, creati in modo specifico per ogni compilazione e poi eliminati al termine dell'operazione. Non devi quindi gestire hardware o software di server di compilazione. Inoltre, CodeBuild si dimensiona automaticamente in base ai volumi di compilazione. È in grado di elaborare immediatamente ogni compilazione inviata e può eseguire diverse elaborazioni contemporaneamente per evitare il formarsi di code.

Visita la pagina dei prezzi di AWS CodeBuild per maggiori informazioni.

Sì. CodeBuild è integrato con AWS CodePipeline. Puoi aggiungere un'azione relativa alla compilazione e definire un'integrazione e un processo di distribuzione continui da eseguire nel cloud. È possibile imparare a impostare e a monitorare le compilazioni dalla console di CodePipeline qui.

Usare CodeBuild

Si utilizza un progetto di compilazione per stabilire in che modo CodeBuild eseguirà una compilazione. Nel progetto sono incluse informazioni su dove reperire il codice sorgente, su quale ambiente di compilazione usare, i comandi di compilazione da eseguire e dove archiviare l'output. L'ambiente di compilazione nasce dall'abbinamento di sistema operativo, runtime del linguaggio di programmazione e strumenti utilizzati da CodeBuild per eseguire una compilazione.

Un progetto di compilazione può essere configurato attraverso la console o AWS CLI. È necessario specificare la posizione dell'archivio sorgente, l'ambiente di runtime, i comandi di compilazione, il ruolo IAM assunto dal contenitore e la classe di calcolo richiesta per eseguire la compilazione. A scelta, è possibile specificare i comandi di compilazione in un file buildspec.yml.

CodeBuild può collegarsi ad AWS CodeCommit, S3, GitHub e, GitHub Enterprise e Bitbucket per richiedere il codice sorgente per le build.

CodeBuild offre ambienti preconfigurati per le versioni supportate di Java, Ruby, Python, Go, Node.js, Android, .NET Core, PHP e Docker. È anche possibile personalizzare il proprio ambiente creando un'immagine Docker e caricandola in Amazon EC2 Container Registry o nel registro Docker Hub. Sarà quindi possibile fare riferimento a tale immagine personalizzata nel progetto di compilazione.

CodeBuild fornisce un ambiente di build Windows preconfigurato per .NET Core 2.0. Il nostro obiettivo è offrire un ambiente di build Windows preconfigurato per i clienti che usano Microsoft .NET Framework, molti dei quali già dispongono di una licenza per l'uso delle librerie proprietarie di Microsoft. Purtroppo Microsoft ha declinato il nostro invito a collaborare per accontentare tali richieste. È possibile personalizzare un ambiente per conto proprio in modo che supporti altre destinazioni di build, tra cui .NET Framework, creando un'immagine Docker e caricandola in Amazon EC2 Container Registry o nel registro Docker Hub. Sarà quindi possibile fare riferimento a tale immagine personalizzata nel progetto di compilazione.

CodeBuild creerà un contenitore di calcolo temporaneo della classe definita nel progetto di compilazione, lo caricherà con l'ambiente runtime specificato, scaricherà il codice sorgente, eseguirà i comandi definiti nel progetto, caricherà l'artefatto generato in un bucket S3 e poi eliminerà il contenitore di calcolo. Durante la compilazione, CodeBuild eseguirà lo streaming dell'output verso la console del servizio e i log di Amazon CloudWatch.

Accedi alla Console di gestione AWS, crea un progetto di compilazione e poi eseguilo. Per visionare un'introduzione a CodeBuild, consulta il documento Nozioni di base, in cui è disponibile un tutorial dettagliato. È anche possibile avvalersi di CodeBuild Local per eseguire test e debug della build in locale.

Sì. Il plugin di CodeBuild per Jenkins può essere usato per integrare CodeBuild nelle attività di Jenkins. Le attività di compilazione vengono inviate a CodeBuild, eliminando così la necessità di eseguire il provisioning e di gestire i nodi di lavoro di Jenkins.

Puoi accedere ai risultati delle compilazioni precedenti attraverso la console, CloudWatch o le API. Nei risultati è incluso l'esito (positivo o negativo), la durata della compilazione, la posizione dell'artefatto di output e la posizione dei log. Grazie alla dashboard CodeBuild puoi anche visualizzare le metriche per capire il comportamento della compilazione nel tempo. La dashboard mostra il numero dei tentativi di compilazione, andati a buon fine e non, così come la loro durata. La console CloudWatch mostra anche altre metriche di compilazione dettagliate. Per ulteriori informazioni sul monitoraggio di CodeBuild con CloudWatch, consulta la nostra documentazione.

Per eseguire il debug di una build è possibile analizzare il log generato durante la sua esecuzione oppure utilizzare CodeBuild Local per eseguire test e debug delle build in locale.

L'ambiente di build .NET Core per Windows richiede una quantità di memoria e di potenza di elaborazione superiori a quelle disponibili nelle istanze di tipo build.general1.small, a causa delle dimensioni del contenitore Docker Windows di base e delle librerie aggiuntive. Data questa limitazione, non è disponibile il piano gratuito per l'ambiente di build .NET Core per Windows.

Puoi creare notifiche per eventi che incidono sui progetti di build. Le notifiche avranno il formato delle notifiche di Amazon SNS. Ogni notifica includerà un messaggio sullo stato e un link alle risorse il cui evento ha generato la notifica in questione. Le notifiche non hanno costi aggiuntivi, ma potrebbero essere addebitati costi per altri servizi AWS utilizzati dalle notifiche, tra cui Amazon SNS. Per ulteriori informazioni sull'attivazione delle notifiche, consulta la guida per l'utente alle notifiche. Inoltre, i clienti che utilizzano AWS Chatbot possono configurare l'invio di notifiche ai canali Slack o alle chat room di Amazon Chime. Per ulteriori dettagli, fai clic qui.

Sicurezza

Sì. Per crittografare gli artefatti è possibile specificare una chiave archiviata in AWS Key Management Service (AWS KMS).

CodeBuild esegue le compilazioni in ambienti nuovi isolati da altri utenti ed elimina ogni ambiente di compilazione al completamento dell'operazione. CodeBuild garantisce sicurezza e distinzione a livello di esecuzione e infrastruttura.

Sì. È possibile controllare gli accessi ai progetti di compilazione attraverso autorizzazioni a livello di risorse nelle policy IAM.

Regioni

Per maggiori informazioni, vedi Prodotti e servizi regionali.