View a markdown version of this page

Modifica le impostazioni del progetto di costruzione in 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à.

Modifica le impostazioni del progetto di costruzione in AWS CodeBuild

Puoi utilizzare la AWS CodeBuild console o gli AWS CLI AWS SDK per modificare le impostazioni di un progetto di compilazione.

Se aggiungi report di test a un progetto di compilazione, assicurati che il tuo ruolo IAM disponga delle autorizzazioni descritte in. Autorizzazioni del rapporto di prova

Modifica delle impostazioni di un progetto di compilazione (console)

Per modificare le impostazioni di un progetto di compilazione, esegui la seguente procedura:

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

  2. Nel riquadro di navigazione, scegliere Build projects (Progetti di compilazione).

  3. Esegui una delle seguenti operazioni:

    • Selezionare il collegamento del progetto di compilazione da modificare, quindi selezionare Build details (Dettagli compilazione).

    • Selezionare il pulsante di opzione accanto al progetto di compilazione da modificare, selezionare View details (Visualizza dettagli) e Build details (Dettagli compilazione).

È possibile modificare le seguenti sezioni:

Configurazione del progetto

Nella sezione Configurazione del progetto, scegli Modifica. Una volta completate le modifiche, scegli Aggiorna configurazione per salvare la nuova configurazione.

È possibile modificare le seguenti proprietà.

Descrizione

Inserite una descrizione opzionale del progetto di compilazione per aiutare gli altri utenti a capire a cosa serve questo progetto.

Badge Build

Selezionare Enable build badge (Abilita badge di compilazione) per rendere visibile e integrabile lo stato della compilazione del progetto. Per ulteriori informazioni, consulta Creazione di esempi di badge.

Nota

Il badge Build non si applica se il fornitore di origine è Amazon S3.

Abilita il limite di compilazione simultanea

Se desideri limitare il numero di build simultanee per questo progetto, procedi nel seguente modo:

  1. Seleziona Limita il numero di build simultanee che questo progetto può avviare.

  2. In Limite di build simultanee, inserisci il numero massimo di build simultanee consentite per questo progetto. Questo limite non può essere superiore al limite di build simultanee impostato per l'account. Se si tenta di inserire un numero superiore al limite dell'account, viene visualizzato un messaggio di errore.

Le nuove compilazione vengono avviate solo se il numero corrente di compilazioni è minore o uguale a questo limite. Se il conteggio delle compilazioni correnti soddisfa questo limite, le nuove compilazioni vengono limitate e non vengono eseguite.

Abilita l'accesso pubblico alla build

Per rendere disponibili al pubblico i risultati della compilazione del progetto, inclusi gli utenti senza accesso a un AWS account, seleziona Abilita l'accesso pubblico alla build e conferma di voler rendere pubblici i risultati della compilazione. Le seguenti proprietà vengono utilizzate per i progetti di compilazione pubblici:

Ruolo del servizio di costruzione pubblico

Seleziona Nuovo ruolo di servizio se desideri CodeBuild creare un nuovo ruolo di servizio per te o Ruolo di servizio esistente se desideri utilizzare un ruolo di servizio esistente.

Il ruolo del servizio di compilazione pubblico CodeBuild consente di leggere i CloudWatch log e scaricare gli artefatti di Amazon S3 per le build del progetto. Ciò è necessario per rendere disponibili al pubblico i log di compilazione e gli artefatti del progetto.

Ruolo del servizio

Immettere il nome del nuovo ruolo di servizio o di un ruolo di servizio esistente.

Per rendere privati i risultati di compilazione del progetto, deseleziona Abilita l'accesso pubblico alla build.

Per ulteriori informazioni, consulta Ottieni gli URL pubblici dei progetti di compilazione.

avvertimento

Quando rendi pubblici i risultati di compilazione del progetto, tieni presente quanto segue:

  • Tutti i risultati di compilazione, i log e gli artefatti di un progetto, incluse le build eseguite quando il progetto era privato, sono disponibili al pubblico.

  • Tutti i registri di compilazione e gli artefatti sono disponibili al pubblico. Le variabili di ambiente, il codice sorgente e altre informazioni sensibili potrebbero essere state inviate ai registri di compilazione e agli artefatti. È necessario prestare attenzione alle informazioni che vengono visualizzate nei registri di compilazione. Alcune best practice sono:

    • Non memorizzate valori sensibili, in particolare gli ID delle chiavi di AWS accesso e le chiavi di accesso segrete, nelle variabili di ambiente. Ti consigliamo di utilizzare un Amazon EC2 Systems Manager Parameter Store o AWS Secrets Manager di archiviare valori sensibili.

    • Segui questa procedura Le migliori pratiche per l'utilizzo dei webhook per limitare le entità che possono attivare una build e non memorizzare la buildspec nel progetto stesso, per assicurarti che i tuoi webhook siano il più sicuri possibile.

  • Un utente malintenzionato può utilizzare build pubbliche per distribuire artefatti dannosi. Consigliamo agli amministratori di progetto di esaminare tutte le pull request per verificare che si tratti di una modifica legittima. Ti consigliamo inoltre di convalidare gli artefatti con i relativi checksum per assicurarti che vengano scaricati gli artefatti corretti.

Informazioni aggiuntive

Per i tag, inserisci il nome e il valore di tutti i tag che desideri vengano utilizzati dai servizi di supporto. AWS Utilizzare Add row (Aggiungi riga) per aggiungere un tag. Puoi aggiungere fino a 50 tag.

Origine

Nella sezione Sorgente, scegli Modifica. Una volta completate le modifiche, scegli Aggiorna configurazione per salvare la nuova configurazione.

È possibile modificare le seguenti proprietà:

Provider di origine

Scegli il tipo di provider del codice sorgente. Utilizzate i seguenti elenchi per effettuare le selezioni appropriate per il vostro fornitore di origine:

Nota

CodeBuild non supporta Bitbucket Server.

Amazon S3
Bucket

Scegli il nome del bucket di input che contiene il codice sorgente.

Chiave oggetto S3 o cartella S3

Inserisci il nome del file ZIP o il percorso della cartella che contiene il codice sorgente. Inserisci una barra (/) per scaricare tutti i contenuti del bucket S3.

Versione sorgente

Inserisci l'ID della versione dell'oggetto che rappresenta la build del tuo file di input. Per ulteriori informazioni, consultaEsempio di versione sorgente con AWS CodeBuild.

CodeCommit
Repository

Scegli il repository che desideri utilizzare.

Tipo di riferimento

Scegli Branch , Git tag o Commit ID per specificare la versione del codice sorgente. Per ulteriori informazioni, consulta Esempio di versione sorgente con AWS CodeBuild.

Nota

Ti consigliamo di scegliere nomi di branch Git che non assomiglino agli ID di commit, come 811dd1ba1aba14473856cee38308caed7190c0d o5392f7. Questo ti aiuta a evitare le collisioni del checkout di Git con i commit effettivi.

Profondità del clone di Git

Scegli di creare un clone superficiale con una cronologia troncata al numero di commit specificato. Se si desidera un clone completo, selezionare Full (Completo).

Sottomoduli Git

Seleziona Use Git submodules (Utilizza i sottomoduli Git) se vuoi includere i sottomoduli Git nel tuo archivio.

Bitbucket
Credenziali

Scegli Credenziale di origine predefinita o Credenziale di origine personalizzata e segui le istruzioni per gestire la credenziale di origine predefinita o personalizzare la credenziale di origine.

Tipo di connessione

Scegli CodeConnections OAuth , password dell'app o token di accesso personale a cui connetterti. CodeBuild

Connessione

Seleziona una connessione Bitbucket o un segreto di Secrets Manager per connetterti tramite il tipo di connessione specificato.

Repository

Scegli Repository nel mio account Bitbucket o nel repository pubblico e inserisci l'URL del repository.

Versione sorgente

Inserisci una filiale, un ID di commit, un tag o un riferimento e un ID di commit. Per ulteriori informazioni, consulta Esempio di versione sorgente con AWS CodeBuild

Nota

Ti consigliamo di scegliere nomi di ramo Git che non assomiglino agli ID di commit, come 811dd1ba1aba14473856cee38308caed7190c0d o5392f7. Questo ti aiuta a evitare le collisioni del checkout di Git con i commit effettivi.

Profondità del clone di Git

Seleziona Git clone depth per creare un clone superficiale con una cronologia troncata al numero specifico di commit. Se si desidera un clone completo, selezionare Full (Completo).

Sottomoduli Git

Seleziona Use Git submodules (Utilizza i sottomoduli Git) se vuoi includere i sottomoduli Git nel tuo archivio.

Stato della build

Seleziona Segnala lo stato di compilazione al provider di origine all'inizio e alla fine delle build se desideri che lo stato di inizio e completamento della build sia segnalato al tuo fornitore di origine.

Per poter segnalare lo stato della build al provider di origine, l'utente associato al provider di origine deve avere accesso in scrittura al repository. Se l'utente non dispone dell'accesso in scrittura, lo stato della build non può essere aggiornato. Per ulteriori informazioni, consulta Accesso al provider di origine.

Per il contesto Status, inserisci il valore da utilizzare per il name parametro nello stato di commit di Bitbucket. Per ulteriori informazioni, consulta compilazione nella documentazione di riferimento dell'API Bitbucket.

Per Target URL, inserisci il valore da utilizzare per il url parametro nello stato di commit di Bitbucket. Per ulteriori informazioni, consulta compilazione nella documentazione di riferimento dell'API Bitbucket.

Lo stato di una build attivata da un webhook viene sempre segnalato al fornitore di origine. Per far sì che lo stato di una build avviata dalla console o di una chiamata API venga segnalato al provider di origine, devi selezionare questa impostazione.

Se le build del tuo progetto vengono attivate da un webhook, devi inviare un nuovo commit al repository affinché una modifica a questa impostazione abbia effetto.

Negli eventi webhook di origine primaria, seleziona Ricostruisci ogni volta che una modifica al codice viene inviata a questo repository se desideri creare il codice sorgente ogni volta che una modifica CodeBuild al codice viene inviata a questo repository. Per ulteriori informazioni sui webhook e sui gruppi di filtri, consulta. Eventi webhook Bitbucket

GitHub
Credenziali

Scegli Credenziale di origine predefinita o Credenziale di origine personalizzata e segui le istruzioni per gestire la credenziale di origine predefinita o personalizzare la credenziale di origine.

Tipo di connessione

Scegli GitHub App, OAuth o Token di accesso personale a cui connetterti. CodeBuild

Connessione

Seleziona una GitHub connessione o un segreto di Secrets Manager a cui connetterti tramite il tipo di connessione specificato.

Repository

Scegli Repository nel mio GitHub account, nell'archivio pubblico o nel webhook con GitHub ambito e inserisci l'URL del repository.

Versione sorgente

Inserisci una filiale, un ID di commit, un tag o un riferimento e un ID di commit. Per ulteriori informazioni, consulta Esempio di versione sorgente con AWS CodeBuild

Nota

Ti consigliamo di scegliere nomi di ramo Git che non assomiglino agli ID di commit, come 811dd1ba1aba14473856cee38308caed7190c0d o5392f7. Questo ti aiuta a evitare le collisioni del checkout di Git con i commit effettivi.

Profondità del clone di Git

Seleziona Git clone depth per creare un clone superficiale con una cronologia troncata al numero specifico di commit. Se si desidera un clone completo, selezionare Full (Completo).

Sottomoduli Git

Seleziona Use Git submodules (Utilizza i sottomoduli Git) se vuoi includere i sottomoduli Git nel tuo archivio.

Stato della build

Seleziona Segnala gli stati di compilazione al fornitore di origine all'inizio e alla fine delle build se desideri che lo stato di inizio e completamento della build venga segnalato al fornitore di origine.

Per poter segnalare lo stato della build al provider di origine, l'utente associato al provider di origine deve avere accesso in scrittura al repository. Se l'utente non dispone dell'accesso in scrittura, lo stato della build non può essere aggiornato. Per ulteriori informazioni, consulta Accesso al provider di origine.

Per il contesto Status, immettete il valore da utilizzare per il context parametro nello stato di GitHub commit. Per ulteriori informazioni, consulta Create a commit status nella guida per gli GitHub sviluppatori.

Per Target URL, inserisci il valore da utilizzare per il target_url parametro nello stato di GitHub commit. Per ulteriori informazioni, consulta Create a commit status nella guida per gli GitHub sviluppatori.

Lo stato di una build attivata da un webhook viene sempre segnalato al fornitore di origine. Per far sì che lo stato di una build avviata dalla console o di una chiamata API venga segnalato al provider di origine, devi selezionare questa impostazione.

Se le build del tuo progetto vengono attivate da un webhook, devi inviare un nuovo commit al repository affinché una modifica a questa impostazione abbia effetto.

Negli eventi webhook di origine primaria, seleziona Ricostruisci ogni volta che una modifica al codice viene inviata a questo repository se desideri creare il codice sorgente ogni volta che una modifica CodeBuild al codice viene inviata a questo repository. Per ulteriori informazioni sui webhook e sui gruppi di filtri, consulta. GitHub eventi webhook

GitHub Enterprise Server
Credenziali

Scegli Credenziale di origine predefinita o Credenziale di origine personalizzata e segui le istruzioni per gestire la credenziale di origine predefinita o personalizzare la credenziale di origine.

Tipo di connessione

Scegli CodeConnections Token di accesso personale a cui connetterti CodeBuild.

Connessione

Seleziona una connessione GitHub Enterprise o un segreto di Secrets Manager per connetterti tramite il tipo di connessione specificato.

Repository

Scegli Repository nel mio account GitHub Enterprise o nel webhook GitHub Enterprise scoped e inserisci l'URL del repository.

Versione sorgente

Inserisci una pull request, un branch, un ID di commit, un tag o un riferimento e un ID di commit. Per ulteriori informazioni, consulta Esempio di versione sorgente con AWS CodeBuild.

Nota

Ti consigliamo di scegliere nomi di branch Git che non assomiglino agli ID di commit, come 811dd1ba1aba14473856cee38308caed7190c0d o5392f7. Questo ti aiuta a evitare le collisioni del checkout di Git con i commit effettivi.

Profondità del clone di Git

Seleziona Git clone depth per creare un clone superficiale con una cronologia troncata al numero specifico di commit. Se si desidera un clone completo, selezionare Full (Completo).

Sottomoduli Git

Seleziona Use Git submodules (Utilizza i sottomoduli Git) se vuoi includere i sottomoduli Git nel tuo archivio.

Stato della build

Seleziona Segnala lo stato di compilazione al provider di origine all'inizio e alla fine delle build se desideri che lo stato di inizio e completamento della build sia segnalato al tuo fornitore di origine.

Per poter segnalare lo stato della build al provider di origine, l'utente associato al provider di origine deve avere accesso in scrittura al repository. Se l'utente non dispone dell'accesso in scrittura, lo stato della build non può essere aggiornato. Per ulteriori informazioni, consulta Accesso al provider di origine.

Per il contesto Status, immettete il valore da utilizzare per il context parametro nello stato di GitHub commit. Per ulteriori informazioni, consulta Create a commit status nella guida per gli GitHub sviluppatori.

Per Target URL, inserisci il valore da utilizzare per il target_url parametro nello stato di GitHub commit. Per ulteriori informazioni, consulta Create a commit status nella guida per gli GitHub sviluppatori.

Lo stato di una build attivata da un webhook viene sempre segnalato al fornitore di origine. Per far sì che lo stato di una build avviata dalla console o di una chiamata API venga segnalato al provider di origine, devi selezionare questa impostazione.

Se le build del tuo progetto vengono attivate da un webhook, devi inviare un nuovo commit al repository affinché una modifica a questa impostazione abbia effetto.

SSL non sicuro

Seleziona Abilita SSL non sicuro per ignorare gli avvisi SSL durante la connessione al repository del progetto Enterprise. GitHub

Negli eventi webhook di origine primaria, seleziona Ricostruisci ogni volta che una modifica al codice viene inviata a questo repository se desideri creare il codice sorgente ogni volta che una modifica CodeBuild al codice viene inviata a questo repository. Per ulteriori informazioni sui webhook e sui gruppi di filtri, consulta. GitHub eventi webhook

GitLab
Credenziali

Scegli Credenziale di origine predefinita o Credenziale di origine personalizzata e segui le istruzioni per gestire la credenziale di origine predefinita o personalizzare la credenziale di origine.

Tipo di connessione

CodeConnectionsviene utilizzato per connettersi GitLab a CodeBuild.

Connessione

Seleziona una GitLab connessione tramite cui connetterti CodeConnections.

Repository

Scegli il repository che desideri utilizzare.

Versione sorgente

Inserisci un ID della pull request, una filiale, un ID di commit, un tag o un riferimento e un ID di commit. Per ulteriori informazioni, consulta Esempio di versione sorgente con AWS CodeBuild.

Nota

Ti consigliamo di scegliere nomi di branch Git che non assomiglino agli ID di commit, come 811dd1ba1aba14473856cee38308caed7190c0d o5392f7. Questo ti aiuta a evitare le collisioni del checkout di Git con i commit effettivi.

Profondità del clone di Git

Seleziona Git clone depth per creare un clone superficiale con una cronologia troncata al numero specifico di commit. Se si desidera un clone completo, selezionare Full (Completo).

Stato della build

Seleziona Segnala lo stato di compilazione al provider di origine all'inizio e alla fine delle build se desideri che lo stato di inizio e completamento della build sia segnalato al tuo fornitore di origine.

Per poter segnalare lo stato della build al provider di origine, l'utente associato al provider di origine deve avere accesso in scrittura al repository. Se l'utente non dispone dell'accesso in scrittura, lo stato della build non può essere aggiornato. Per ulteriori informazioni, consulta Accesso al provider di origine.

GitLab Self Managed
Credenziale

Scegli Credenziale di origine predefinita o Credenziale di origine personalizzata e segui le istruzioni per gestire la credenziale di origine predefinita o personalizzare la credenziale di origine.

Tipo di connessione

CodeConnectionsviene utilizzato per connettere GitLab Self Managed a CodeBuild.

Connessione

Seleziona una connessione GitLab autogestita tramite la quale connetterti CodeConnections.

Repository

Scegli il repository che desideri utilizzare.

Versione sorgente

Inserisci un ID della pull request, una filiale, un ID di commit, un tag o un riferimento e un ID di commit. Per ulteriori informazioni, consulta Esempio di versione sorgente con AWS CodeBuild.

Nota

Ti consigliamo di scegliere nomi di branch Git che non assomiglino agli ID di commit, come 811dd1ba1aba14473856cee38308caed7190c0d o5392f7. Questo ti aiuta a evitare le collisioni del checkout di Git con i commit effettivi.

Profondità del clone di Git

Seleziona Git clone depth per creare un clone superficiale con una cronologia troncata al numero specifico di commit. Se si desidera un clone completo, selezionare Full (Completo).

Stato della build

Seleziona Segnala lo stato di compilazione al provider di origine all'inizio e alla fine delle build se desideri che lo stato di inizio e completamento della build sia segnalato al tuo fornitore di origine.

Per poter segnalare lo stato della build al provider di origine, l'utente associato al provider di origine deve avere accesso in scrittura al repository. Se l'utente non dispone dell'accesso in scrittura, lo stato della build non può essere aggiornato. Per ulteriori informazioni, consulta Accesso al provider di origine.

Ambiente

Nella sezione Ambiente, scegli Modifica. Una volta completate le modifiche, scegli Aggiorna configurazione per salvare la nuova configurazione.

È possibile modificare le seguenti proprietà:

Modello di provisioning

Per modificare il modello di provisioning, scegli Cambia modello di provisioning ed esegui una delle seguenti operazioni:

  • Per utilizzare flotte su richiesta gestite da, scegli. AWS CodeBuild On-demand Grazie alle flotte on-demand, CodeBuild fornisce l'elaborazione per le tue build. Le macchine vengono distrutte al termine della costruzione. On-demand le flotte sono completamente gestite e includono funzionalità di scalabilità automatica per gestire i picchi di domanda.

  • Per utilizzare le flotte con capacità riservata gestite da AWS CodeBuild, scegli Capacità riservata, quindi seleziona un nome per la flotta. Con le flotte di capacità riservata, configuri un set di istanze dedicate per il tuo ambiente di compilazione. Queste macchine rimangono inattive, pronte per elaborare immediatamente le build o i test e riducono la durata di compilazione. Grazie a flotte con capacità riservata, le macchine sono sempre in funzione e continueranno a sostenere costi fintanto che saranno disponibili.

Per informazioni, consulta Run si basa su flotte a capacità riservata.

Immagine dell'ambiente

Per modificare l'immagine di costruzione, scegliete Sostituisci immagine ed effettuate una delle seguenti operazioni:

  • Per utilizzare un'immagine Docker gestita da AWS CodeBuild, scegli Immagine gestita, quindi seleziona Sistema operativo, Runtime (s) , Immagine e Versione dell'immagine. Se disponibile, eseguire una selezione da Environment type (Tipo ambiente).

  • Per utilizzare un'altra immagine Docker, selezionare Custom image (Immagine personalizzata). Per il tipo di ambiente, scegli ARM, Linux, Linux GPU o Windows. Se si sceglie Other registry (Altro registro), fin External registry URL (URL registro esterno), inserire il nome e il tag dell'immagine Docker in Docker Hub, utilizzando il formato docker repository/docker image name. Se scegli Amazon ECR, utilizza il repository Amazon ECR e l'immagine Amazon ECR per scegliere l'immagine Docker nel tuo account. AWS

  • Per utilizzare un'immagine Docker privata, scegli Immagine personalizzata. Per il tipo di ambiente, scegli ARM, Linux , GPU Linux o Windows. Per Image registry (Registro immagine), selezionare Other registry (Altro registro), quindi immettere l'ARN delle credenziali per l'immagine Docker privata. Le credenziali devono essere create da Secrets Manager. Per ulteriori informazioni, consulta Che cos'è AWS Secrets Manager? nella Guida per l'utente di AWS Secrets Manager .

Nota

CodeBuild sostituisce le immagini Docker ENTRYPOINT personalizzate.

Ruolo del servizio

Esegui una delle seguenti operazioni:

  • Se non disponi di un ruolo CodeBuild di servizio, scegli Nuovo ruolo di servizio. In Nome ruolo, inserisci un nome per il nuovo ruolo.

  • Se disponi di un ruolo CodeBuild di servizio, scegli Ruolo di servizio esistente. In Role ARN, scegli il ruolo del servizio.

Nota

Quando si utilizza la console per creare un progetto di compilazione, è possibile creare contemporaneamente un ruolo di CodeBuild servizio. Per impostazione predefinita, il ruolo funziona solo con tale progetto di compilazione. Se si utilizza la console per associare questo ruolo del servizio con un altro progetto di compilazione, il ruolo viene aggiornato per funzionare con l'altro progetto. Un ruolo del servizio può funzionare con un massimo di 10 progetti di compilazione.

Configurazione aggiuntiva
Timeout

Specifica un valore, compreso tra 5 minuti e 36 ore, dopo il quale CodeBuild interrompe la compilazione se non è completa. Se hours (ore) e minutes (minuti) vengono lasciati vuoti, viene utilizzato il valore predefinito di 60 minuti.

Privilegiato

Seleziona Abilita questo flag se desideri creare immagini Docker o desideri che le tue build ottengano privilegi elevati. solo se prevedi di utilizzare questo progetto di compilazione per creare immagini Docker. In caso contrario, tutte le compilazioni associate che tentano di interagire con il daemon Docker avranno esito negativo. È inoltre necessario avviare il daemon Docker in modo che le compilazioni possano interagire con esso. Un modo per farlo è inizializzare il demone Docker nella install fase di buildspec eseguendo i seguenti comandi di compilazione. Non eseguite questi comandi se avete scelto un'immagine dell'ambiente di compilazione fornita dal supporto Docker. CodeBuild

Nota

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

- nohup /usr/local/bin/dockerd --host=unix:///var/run/docker.sock --host=tcp://127.0.0.1:2375 --storage-driver=overlay2 & - timeout 15 sh -c "until docker info; do echo .; sleep 1; done"
VPC

Se vuoi CodeBuild lavorare con il tuo VPC:

  • Per il VPC, scegli l'ID VPC che utilizza. CodeBuild

  • Per le sottoreti VPC, scegli le sottoreti che includono le risorse che utilizza. CodeBuild

  • Per i gruppi di sicurezza VPC, scegli i gruppi di sicurezza CodeBuild utilizzati per consentire l'accesso alle risorse nei VPC.

Per ulteriori informazioni, consulta Utilizzo AWS CodeBuild con Amazon Virtual Private Cloud.

Calcolo

Scegli una delle opzioni disponibili.

Credenziali di registro

Specificate una credenziale di registro quando il progetto è configurato con un'immagine di registro non privata.

Nota

Questa credenziale verrà utilizzata solo se le immagini vengono sostituite con quelle provenienti da registri privati.

Variabili di ambiente

Inserisci il nome e il valore, quindi scegli il tipo di ciascuna variabile di ambiente da utilizzare per le build.

Nota

CodeBuild imposta automaticamente la variabile di ambiente per la tua AWS regione. È necessario impostare le seguenti variabili di ambiente se non le hai aggiunte al tuo buildspec.yml:

  • AWS_ACCOUNT_ID

  • IMAGE_REPO_NAME

  • IMAGE_TAG

La console e AWS CLI gli utenti possono visualizzare le variabili di ambiente. Se la visibilità della variabile di ambiente non rappresenta un problema, configurare i campi Name (Nome) e Value (Valore), quindi impostare Type (Tipo) su Plaintext (Testo normale).

Ti consigliamo di memorizzare una variabile di ambiente con un valore sensibile, ad esempio un ID della chiave di AWS accesso, una chiave di accesso AWS segreta o una password come parametro in Amazon EC2 Systems Manager Parameter Store o AWS Secrets Manager.

Se utilizzi Amazon EC2 Systems Manager Parameter Store, in Tipo, scegli Parameter. Per Nome, inserisci un identificatore a cui CodeBuild fare riferimento. Per Value, inserisci il nome del parametro archiviato in Amazon EC2 Systems Manager Parameter Store. Utilizzando un parametro esemplificativo denominato /CodeBuild/dockerLoginPassword, per Type (Tipo) selezionare Parameter (Parametro). In Nome, inserisci LOGIN_PASSWORD. In Valore, specifica /CodeBuild/dockerLoginPassword.

Importante

Se utilizzi Amazon EC2 Systems Manager Parameter Store, ti consigliamo di memorizzare i parametri con nomi di parametro che iniziano con /CodeBuild/ (ad esempio,/CodeBuild/dockerLoginPassword). Puoi utilizzare la CodeBuild console per creare un parametro in Amazon EC2 Systems Manager. Selezionare Create a parameter (Crea un parametro), quindi seguire le istruzioni nella finestra di dialogo. (In questa finestra di dialogo, per la chiave KMS, puoi specificare l'ARN di una AWS KMS chiave nel tuo account. Amazon EC2 Systems Manager utilizza questa chiave per crittografare il valore del parametro durante l'archiviazione e decrittografarlo durante il recupero.) Se si utilizza la CodeBuild console per creare un parametro, la console inizia con /CodeBuild/ il nome del parametro in cui viene archiviato. Per ulteriori informazioni, consulta la procedura dettagliata di Systems Manager Parameter Store e Systems Manager Parameter Store Console nella Amazon EC2 Systems Manager User Guide.

Se il progetto di compilazione fa riferimento a parametri memorizzati in Amazon EC2 Systems Manager Parameter Store, il ruolo di servizio del progetto di compilazione deve consentire l'azione. ssm:GetParameters Se in precedenza hai scelto Nuovo ruolo di servizio, CodeBuild include questa azione nel ruolo di servizio predefinito per il tuo progetto di compilazione. Tuttavia, se invece hai scelto Existing service role (Ruolo del servizio esistente), devi includere questa operazione al ruolo del servizio separatamente.

Se il progetto di compilazione fa riferimento a parametri archiviati in Amazon EC2 Systems Manager Parameter Store con nomi di parametri che non iniziano con /CodeBuild/ e hai scelto Nuovo ruolo di servizio, devi aggiornare quel ruolo di servizio per consentire l'accesso ai nomi dei parametri che non iniziano con/CodeBuild/. Ciò dipende dal fatto che tale ruolo consente l'accesso solo a nomi di parametro che iniziano con /CodeBuild/.

Se scegli Nuovo ruolo di servizio, il ruolo del servizio include l'autorizzazione a decrittografare tutti i parametri nel /CodeBuild/ namespace in Amazon EC2 Systems Manager Parameter Store.

Le variabili di ambiente impostate sostituiscono quelle esistenti. Ad esempio, se l'immagine Docker contiene già una variabile di ambiente denominata MY_VAR con un valore di my_value, e si imposta una variabile di ambiente denominata MY_VAR con un valore di other_value, il valore my_value viene sostituito da other_value. Allo stesso modo, se l'immagine Docker contiene già una variabile di ambiente denominata PATH con un valore di /usr/local/sbin:/usr/local/bin, e si imposta una variabile di ambiente denominata PATH con un valore di $PATH:/usr/share/ant/bin, il valore di /usr/local/sbin:/usr/local/bin viene sostituito dal valore letterale $PATH:/usr/share/ant/bin.

Non impostare variabili di ambiente con nomi che iniziano con CODEBUILD_. Questo prefisso è riservato per l'uso interno .

Se una variabile di ambiente con lo stesso nome viene definita in più luoghi, il valore viene determinato come segue:

  • Il valore della chiamata all'operazione di inizio della compilazione ha la massima priorità.

  • Il valore della definizione del progetto di compilazione è il seguente in ordine di priorità.

  • Il valore della dichiarazione buildspec ha la minima priorità.

Se utilizzi Secrets Manager, in Tipo, scegli Secrets Manager. Per Nome, inserisci un identificatore CodeBuild a cui fare riferimento. Per Valore, immettere un reference-key utilizzando il modello secret-id:json-key:version-stage:version-id. Per informazioni, consulta Secrets Manager reference-key in the buildspec file.

Importante

Se utilizzi Secrets Manager, ti consigliamo di archiviare i segreti con nomi che iniziano con /CodeBuild/ (ad esempio,/CodeBuild/dockerLoginPassword). Per ulteriori informazioni, consulta Che cos'è AWS Secrets Manager? nella Guida per l'utente di AWS Secrets Manager .

Se il progetto di compilazione fa riferimento a segreti memorizzati in Secrets Manager, il ruolo di servizio del progetto di compilazione deve consentire l'secretsmanager:GetSecretValueazione. Se in precedenza hai scelto Nuovo ruolo di servizio, CodeBuild include questa azione nel ruolo di servizio predefinito per il tuo progetto di compilazione. Tuttavia, se invece hai scelto Existing service role (Ruolo del servizio esistente), devi includere questa operazione al ruolo del servizio separatamente.

Se il progetto di compilazione fa riferimento a segreti archiviati in Secrets Manager con nomi segreti che non iniziano con /CodeBuild/ e hai scelto Nuovo ruolo di servizio, devi aggiornare il ruolo del servizio per consentire l'accesso ai nomi segreti che non iniziano con/CodeBuild/. Questo perché il ruolo del servizio consente l'accesso solo ai nomi segreti che iniziano con/CodeBuild/.

Se si sceglie Nuovo ruolo di servizio, il ruolo di servizio include l'autorizzazione a decrittografare tutti i segreti contenuti nel /CodeBuild/ namespace nel Secrets Manager.

Buildspec

Nella sezione Buildspec, scegli Modifica. Quando le modifiche sono complete, scegli Aggiorna configurazione per salvare la nuova configurazione.

È possibile modificare le seguenti proprietà:

Specifiche di costruzione

Esegui una delle seguenti operazioni:

  • Se il codice sorgente include un file di specifiche di compilazione, selezionare Use a buildspec file (Utilizza un file buildspec). Per impostazione predefinita, CodeBuild cerca un file denominato buildspec.yml nella directory principale del codice sorgente. Se il tuo file buildspec utilizza un nome o una posizione diversi, inserisci il percorso dalla radice di origine nel nome Buildspec (ad esempio, o. buildspec-two.yml configuration/buildspec.yml Se il file buildspec si trova in un bucket S3, deve trovarsi nella stessa regione del progetto di compilazione. AWS Specifica il file buildspec usando il suo ARN (ad esempio,). arn:aws:s3:::<my-codebuild-sample2>/buildspec.yml

  • Se il codice sorgente non include un file di specifiche di compilazione o se desideri eseguire comandi di compilazione diversi da quelli specificati per la fase build del file buildspec.yml nella directory radice del codice sorgente, scegli Insert build commands (Inserisci comandi di compilazione). Per Build commands (Comandi di compilazione), immetti i comandi che desideri eseguire nella fase build. In caso di più comandi, separa ogni comando con && (ad esempio mvn test && mvn package). Per eseguire comandi in altre fasi, o se avete un lungo elenco di comandi per la build fase, aggiungete un buildspec.yml file alla directory principale del codice sorgente, aggiungete i comandi al file e quindi scegliete Usa buildspec.yml nella directory principale del codice sorgente.

Per ulteriori informazioni, consulta Riferimento per buildspec.

Configurazione in batch

Nella sezione Configurazione batch, scegli Modifica. Una volta completate le modifiche, scegli Aggiorna configurazione per salvare la nuova configurazione. Per ulteriori informazioni, consulta Esegui le build in batch.

È possibile modificare le seguenti proprietà:

Ruolo del servizio batch

Fornisce il ruolo di servizio per le compilazioni in batch.

Seleziona una delle seguenti opzioni:

  • Se non disponi di un ruolo di servizio batch, scegli Nuovo ruolo di servizio. In Ruolo di servizio, inserisci un nome per il nuovo ruolo.

  • Se disponi di un ruolo di servizio batch, scegli Ruolo di servizio esistente. In Ruolo di servizio, scegli il ruolo del servizio.

Le compilazioni in batch introducono un nuovo ruolo di sicurezza nella configurazione in batch. Questo nuovo ruolo è obbligatorio in quanto è CodeBuild necessario poter chiamare le RetryBuild azioni StartBuildStopBuild, e per conto dell'utente per eseguire le build come parte di un batch. I clienti devono utilizzare un nuovo ruolo e non lo stesso ruolo che usano nella compilazione, per due motivi:

  • Dare al ruolo di compilazione le autorizzazioni StartBuild, StopBuild e RetryBuild consentirebbe a una singola compilazione di avviare più compilazioni tramite buildspec.

  • CodeBuild le build batch prevedono restrizioni che limitano il numero di build e i tipi di calcolo che possono essere utilizzati per le build del batch. Se il ruolo di compilazione dispone di queste autorizzazioni, è possibile che le compilazioni stesse possano ignorare queste restrizioni.

Tipi di calcolo consentiti per il batch

Seleziona i tipi di calcolo consentiti per il batch. Seleziona tutte le risposte valide.

Flotte consentite per lotto

Seleziona le flotte consentite per il batch. Seleziona tutte le risposte applicabili.

Numero massimo di build consentite in batch

Inserite il numero massimo di build consentite nel batch. Se un batch supera questo limite, il batch avrà esito negativo.

Timeout del batch

Inserisci il tempo massimo per il completamento della compilazione del batch.

Combina artefatti

Seleziona Combina tutti gli artefatti del batch in un'unica posizione per riunire tutti gli artefatti del batch in un'unica posizione.

Modalità di segnalazione in batch

Seleziona la modalità di report sullo stato della build desiderata per le build in batch.

Nota

Questo campo è disponibile solo quando l'origine del progetto è Bitbucket o GitHub Enterprise e l' GitHubopzione Segnala lo stato di compilazione al fornitore di origine all'inizio e alla fine delle build è selezionato in Fonte.

Compilazioni aggregate

Seleziona questa opzione per riunire gli stati di tutte le build del batch in un unico rapporto sullo stato.

Compilazioni individuali

Seleziona questa opzione per visualizzare separatamente gli stati di compilazione di tutte le build del batch.

Artifacts

Nella sezione Artefatti, scegli Modifica. Una volta completate le modifiche, scegli Aggiorna configurazione per salvare la nuova configurazione.

È possibile modificare le seguenti proprietà:

Tipo

Esegui una delle seguenti operazioni:

  • Se non si desidera creare alcun artefatto di output di compilazione, scegliere No artifacts (Nessun artefatto). Questa operazione può essere utile se si eseguono solo test di compilazione o se si desidera inviare un'immagine Docker a un repository Amazon ECR.

  • Per archiviare l'output di compilazione in un bucket S3, scegli Amazon S3, quindi procedi come segue:

    • Se desideri utilizzare il tuo nome di progetto per la cartella o il file ZIP di output di compilazione, lascia vuoto il campo Name (Nome). In caso contrario, digitare il nome. Se desideri eseguire l'output di un file ZIP e vuoi che il file ZIP abbia un'estensione di file, assicurati di includerla dopo il nome del file ZIP.

    • Selezionare Enable semantic versioning (Abilita funzione Versioni multiple semantica) se si desidera che un nome specificato nel file buildspec sostituisca qualsiasi nome specificato nella console. Il nome del file di specifiche di compilazione viene calcolato in fase di compilazione e utilizza il linguaggio di comando Shell. Ad esempio, è possibile aggiungere una data e un’ora al nome dell’artefatto in modo che sia sempre univoco. I nomi di artefatto univoci impediscono che gli artefatti vengano sovrascritti. Per ulteriori informazioni, consulta Sintassi buildspec.

    • Per Bucket name (Nome bucket) selezionare il nome del bucket di output.

    • Se hai scelto Insert build commands (Inserisci comandi di compilazione) in una fase precedente di questa procedura, quindi per Output files (File di output), immetti le posizioni dei file di compilazione che desideri inserire nella cartella o nel file ZIP dell'output di compilazione. Per più posizioni, separarne ognuna con una virgola (per esempio, appspec.yml, target/my-app.jar). Per ulteriori informazioni, consultare la descrizione di files in Sintassi buildspec.

    • Se desideri crittografare gli artefatti di compilazione, seleziona Remove artifacts encryption (Rimuovi crittografia artefatti).

Per ogni insieme secondario di artefatti desiderato:

  1. Per Artifact identifier (Identificatore di artefatto), inserire un valore inferiore a 128 caratteri e che contiene solo caratteri alfanumerici e trattini bassi.

  2. Scegliere Add artifact (Aggiungi artefatto).

  3. Seguire le fasi precedenti configurare gli artefatti secondari.

  4. Selezionare Save artifact (Salva elemento).

Configurazione aggiuntiva
Chiave di crittografia

Esegui una delle seguenti operazioni:

  • Per utilizzare Chiave gestita da AWS Amazon S3 nel tuo account per crittografare gli artefatti di output della build, lascia vuota la chiave di crittografia. Questa è l’impostazione predefinita.

  • Per utilizzare una chiave gestita dal cliente per crittografare gli artefatti di output della build, in Encryption key, inserisci l'ARN della chiave gestita dal cliente. Utilizzare il formato arn:aws:kms:region-ID:account-ID:key/key-ID.

Tipo di cache

In Cache type (Tipo di cache), procedere in uno dei modi seguenti:

  • Se non si desidera utilizzare una cache, scegliere No cache (Nessuna cache).

  • Se desideri utilizzare una cache Amazon S3, scegli Amazon S3, quindi procedi come segue:

    • Per Bucket, selezionare il nome del bucket S3 in cui è archiviata la cache.

    • (Facoltativo) Per il prefisso del percorso della cache, inserisci un prefisso di percorso Amazon S3. Il valore Cache path prefix (Prefisso percorso cache) è simile a un nome di directory. Consente di archiviare la cache sotto la stessa directory in un bucket.

      Importante

      Non aggiungere una barra finale (/) alla fine del prefisso del percorso.

  • Se si desidera utilizzare una cache locale, selezionare Local (Locale), quindi scegliere una o più modalità cache locali.

    Nota

    La modalità Cache di livello Docker è disponibile solo per Linux. Se la scegli, il progetto deve essere eseguito in modalità privilegiata.

L'utilizzo di una cache consente di risparmiare tempo di compilazione perché alcune parti riutilizzabili dell'ambiente di compilazione vengono memorizzate nella cache e utilizzate in compilazioni diverse. Per informazioni su come specificare una cache nel file di specifiche di compilazione, consulta Sintassi buildspec. Per ulteriori informazioni sul caching, consulta La cache viene creata per migliorare le prestazioni.

Log

Nella sezione Logs, scegli Modifica. Una volta completate le modifiche, scegli Aggiorna configurazione per salvare la nuova configurazione.

È possibile modificare le seguenti proprietà:

Scegli i log che desideri creare. Puoi creare Amazon CloudWatch Logs, Amazon S3 o entrambi.

CloudWatch

Se desideri i log di Amazon CloudWatch Logs:

CloudWatch logs

Seleziona CloudWatch i log.

Group name (Nome gruppo)

Inserisci il nome del tuo gruppo di CloudWatch log di Amazon Logs.

Nome dello stream

Inserisci il nome del tuo stream di CloudWatch log di Amazon Logs.

S3

Se desideri i log di Amazon S3:

Log S3

Selezionare S3 logs (Log S3).

Bucket

Scegli il nome del bucket S3 per i tuoi log.

Prefisso del percorso

Inserisci il prefisso per i tuoi log.

Disattiva la crittografia dei log S3

Seleziona se non desideri che i tuoi log S3 siano crittografati.

Modificare le impostazioni di un progetto di compilazione (AWS CLI)

Per informazioni sull'uso di AWS CLI with AWS CodeBuild, consulta ilGuida di riferimento alla riga di comando.

Per aggiornare un CodeBuild progetto con AWS CLI, si crea un file JSON con le proprietà aggiornate e si passa quel file al update-project comando. Tutte le proprietà non contenute nel file di aggiornamento rimangono invariate.

Nel file JSON di aggiornamento, sono richieste solo la name proprietà e le proprietà modificate. La name proprietà identifica il progetto da modificare. Per tutte le strutture modificate, devono essere inclusi anche i parametri richiesti per tali strutture. Ad esempio, per modificare l'ambiente del progetto, sono necessarie environment/computeType le proprietà environment/type and. Ecco un esempio che aggiorna l'immagine dell'ambiente:

{ "name": "<project-name>", "environment": { "type": "LINUX_CONTAINER", "computeType": "BUILD_GENERAL1_SMALL", "image": "aws/codebuild/amazonlinux-x86_64-standard:4.0" } }

Se avete bisogno di ottenere i valori correnti delle proprietà per un progetto, usate il batch-get-projects comando per ottenere le proprietà correnti del progetto che state modificando e scrivete l'output in un file.

aws codebuild batch-get-projects --names "<project-name>" > project-info.json

Il project-info.json file contiene una serie di progetti, quindi non può essere utilizzato direttamente per aggiornare un progetto. È tuttavia possibile copiare le proprietà che si desidera modificare dal project-info.json file e incollarle nel file di aggiornamento come base per le proprietà da modificare. Per ulteriori informazioni, consulta Visualizzazione dei dettagli di un progetto di compilazione (AWS CLI).

Modificate il file JSON di aggiornamento come descritto in Crea un progetto di compilazione (AWS CLI) e salvate i risultati. Quando hai finito di modificare il file JSON di aggiornamento, esegui il update-project comando, passando il file JSON di aggiornamento.

aws codebuild update-project --cli-input-json file://<update-project-file>

In caso di successo, nell'output viene visualizzato il JSON del progetto aggiornato. Se mancano dei parametri richiesti, nell'output viene visualizzato un messaggio di errore che identifica i parametri mancanti. Ad esempio, questo è il messaggio di errore visualizzato se manca il environment/type parametro:

aws codebuild update-project --cli-input-json file://update-project.json Parameter validation failed: Missing required parameter in environment: "type"

Modificare le impostazioni di un progetto di compilazione (AWS SDK)

Per informazioni sull'utilizzo AWS CodeBuild con gli AWS SDK, consulta. AWS Riferimento agli SDK e agli strumenti