Domande frequenti su AWS CodeBuild
Domande generali
D: Che cos'è AWS CodeBuild?
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.
D: Perché dovrei usare CodeBuild?
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.
D: Qual è il prezzo di CodeBuild?
Visita la pagina dei prezzi di AWS CodeBuild per maggiori informazioni.
D: Posso usare CodeBuild per automatizzare il processo relativo alle release?
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
D: Che cos'è un progetto di compilazione?
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.
D: In che modo posso configurare un progetto di 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.
D: Quali archivi sorgente supporta CodeBuild?
CodeBuild può collegarsi ad AWS CodeCommit, S3, GitHub e, GitHub Enterprise e Bitbucket per richiedere il codice sorgente per le build.
D: Quali framework di programmazione supporta CodeBuild?
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.
D: Quali runtime di build Windows preconfigurati fornisce CodeBuild?
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.
D: Cosa succede quando viene eseguita una 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.
D: Cosa devo fare per impostare la mia prima compilazione?
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.
D: Posso usare CodeBuild con Jenkins?
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 worker di Jenkins.
D: In che modo posso vedere i risultati di compilazioni passate?
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.
D: In che modo posso analizzare e risolvere i problemi di compilazioni passate?
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.
D: Perché le istanze di tipo build.general1.small non supportate per gli ambienti di build .NET Core per Windows?
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.
D: In che modo posso ricevere notifiche o avvisi per qualsiasi evento in AWS CodeBuild?
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
D: Posso crittografare gli artefatti della compilazione archiviati da CodeBuild?
Sì. Per crittografare gli artefatti è possibile specificare una chiave archiviata in AWS Key Management Service (AWS KMS).
D: In che modo CodeBuild isola le compilazioni che appartengono ad altri clienti?
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.
D: Posso usare AWS Identity and Access Management (IAM) per gestire gli accessi a CodeBuild?
Sì. È possibile controllare gli accessi ai progetti di compilazione attraverso autorizzazioni a livello di risorse nelle policy IAM.
Regioni
D: Quali regioni supporta CodeBuild?
Per maggiori informazioni, consulta Prodotti e servizi regionali.
Ulteriori informazioni su AWS CodeBuild