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

È possibile utilizzare la AWS CodeBuild console o AWS SDKs modificare le impostazioni di un progetto di compilazione. AWS CLI

Se aggiungi rapporti di test a un progetto di compilazione, assicurati che il tuo IAM ruolo disponga delle autorizzazioni descritte inAutorizzazioni per il rapporto di prova.

Modifica delle impostazioni di un progetto di compilazione (console)

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

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

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

  3. Esegui una di queste 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

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

Costruisci un badge

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 provider di origine è Amazon S3.

Abilita il limite di compilazione simultanea

Se desideri limitare il numero di build simultanee per questo progetto, esegui i seguenti passaggi:

  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 creazione simultanea 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 che desideri rendere pubblici i risultati della build. Le seguenti proprietà vengono utilizzate per i progetti di compilazione pubblica:

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 CloudWatch i log e scaricare gli artefatti di Amazon S3 per le build del progetto. Questo è necessario per rendere disponibili al pubblico i log di compilazione e gli artefatti del progetto.

Ruolo di 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 Get public build project URLs.

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 log e gli artefatti di compilazione sono disponibili al pubblico. Le variabili di ambiente, il codice sorgente e altre informazioni sensibili potrebbero essere state inserite nei log e negli artefatti di compilazione. È necessario prestare attenzione alle informazioni che vengono emesse nei log di compilazione. Alcune best practice sono:

    • Non memorizzate valori sensibili, in particolare le chiavi di AWS accesso IDs 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 memorizzare valori sensibili.

    • Limita Procedure consigliate per l'utilizzo dei webhook le entità che possono attivare una build e non memorizzare le specifiche di build 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 del progetto di esaminare tutte le pull request per verificare che la pull request sia una modifica legittima. Ti consigliamo inoltre di convalidare tutti gli artefatti con i relativi checksum per assicurarti che vengano scaricati gli artefatti corretti.

Informazioni aggiuntive

Per 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. Utilizza i seguenti elenchi per effettuare le selezioni appropriate per il tuo provider 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 ZIP file o il percorso della cartella che contiene il codice sorgente. Inserisci una barra (/) per scaricare tutti i contenuti del bucket S3.

Versione sorgente

Immettete l'ID di versione dell'oggetto che rappresenta la build del 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 a commitIDs, come 811dd1ba1aba14473856cee38308caed7190c0d o5392f7. Questo ti aiuta a evitare le collisioni tra i checkout di Git e i commit effettivi.

Profondità del clone Git

Scegli di creare un clone poco profondo 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 CodeConnectionsla OAuthpassword dell'app o il token di accesso personale a cui connetterti CodeBuild.

Connessione

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

Repository

Scegli Repository nel mio account Bitbucket o Archivio pubblico e accedi al repository. URL

Versione sorgente

Inserisci 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 a commitIDs, come 811dd1ba1aba14473856cee38308caed7190c0d o5392f7. Questo ti aiuta a evitare le collisioni tra i checkout di Git e i commit effettivi.

Profondità del clone 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 della build al fornitore di origine all'inizio e alla fine delle build se desideri che lo stato dell'inizio e del completamento della build venga 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 del commit di Bitbucket. Per ulteriori informazioni, consulta build nella documentazione di API Bitbucket.

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

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

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

Negli eventi del webhook di origine primaria, seleziona Ricostruisci ogni volta che viene inviata una modifica al codice in questo repository se desideri creare il codice sorgente ogni volta che viene inviata una modifica CodeBuild al codice in 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 o Token di accesso personale a cui connetterti CodeBuild. OAuth

Connessione

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

Repository

Scegli Repository nel mio GitHub account, Public repository o GitHub scoped webhook e accedi al repository. URL

Versione sorgente

Inserisci 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 a commitIDs, come 811dd1ba1aba14473856cee38308caed7190c0d o5392f7. Questo ti aiuta a evitare le collisioni tra i checkout di Git e i commit effettivi.

Profondità del clone 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 della build al fornitore di origine all'inizio e alla fine delle build se desideri che lo stato dell'inizio e del completamento della build venga 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 nel GitHub commit status. Per ulteriori informazioni, consulta Creare uno stato di commit nella guida per GitHub sviluppatori.

Per Target URL, inserisci il valore da utilizzare per il target_url parametro nello stato del GitHub commit. Per ulteriori informazioni, consulta Creare uno stato di commit nella guida per GitHub sviluppatori.

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

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

Negli eventi del webhook di origine primaria, seleziona Ricostruisci ogni volta che viene inviata una modifica al codice in questo repository se desideri creare il codice sorgente ogni volta che viene inviata una modifica CodeBuild al codice in 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 il CodeConnectionsnostro token di accesso personale a cui connetterti CodeBuild.

Connessione

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

Repository

Scegli Repository nel mio account GitHub Enterprise o GitHub Enterprise scoped webhook e accedi al repository. URL

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 a commitIDs, come 811dd1ba1aba14473856cee38308caed7190c0d o5392f7. Questo ti aiuta a evitare le collisioni tra i checkout di Git e i commit effettivi.

Profondità del clone 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 della build al fornitore di origine all'inizio e alla fine delle build se desideri che lo stato dell'inizio e del completamento della build venga 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 nel GitHub commit status. Per ulteriori informazioni, consulta Creare uno stato di commit nella guida per GitHub sviluppatori.

Per Target URL, inserisci il valore da utilizzare per il target_url parametro nello stato del GitHub commit. Per ulteriori informazioni, consulta Creare uno stato di commit nella guida per GitHub sviluppatori.

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

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

Non sicuro SSL

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

Negli eventi del webhook di origine primaria, seleziona Ricostruisci ogni volta che viene inserita una modifica al codice in questo repository se desideri creare il codice sorgente ogni volta che viene inviata una modifica CodeBuild al codice in 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 la quale connetterti CodeConnections.

Repository

Scegli il repository che desideri utilizzare.

Versione sorgente

Inserisci un ID di 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 a commitIDs, come 811dd1ba1aba14473856cee38308caed7190c0d o5392f7. Questo ti aiuta a evitare le collisioni tra i checkout di Git e i commit effettivi.

Profondità del clone 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 della compilazione al fornitore di origine all'inizio e alla fine delle build se desideri che lo stato dell'inizio e del completamento della build venga 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 Self Managed tramite la quale connetterti CodeConnections.

Repository

Scegli il repository che desideri utilizzare.

Versione sorgente

Inserisci un ID di 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 a commitIDs, come 811dd1ba1aba14473856cee38308caed7190c0d o5392f7. Questo ti aiuta a evitare le collisioni tra i checkout di Git e i commit effettivi.

Profondità del clone 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 della compilazione al fornitore di origine all'inizio e alla fine delle build se desideri che lo stato dell'inizio e del completamento della build venga 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 on-demand gestite da AWS CodeBuild, scegli On-demand. Con le flotte on-demand, CodeBuild fornisce elaborazione per le tue build. Le macchine vengono distrutte al termine della costruzione. Le flotte on-demand sono completamente gestite e includono funzionalità di scalabilità automatica per gestire i picchi di domanda.

  • Per utilizzare flotte a capacità riservata gestite da AWS CodeBuild, scegli Capacità riservata, quindi seleziona il nome di una flotta. Con le flotte a capacità riservata, puoi configurare un set di istanze dedicate per il tuo ambiente di costruzione. Queste macchine rimangono inattive, pronte per l'elaborazione immediata di build o test e riducono la durata di costruzione. Con flotte a capacità riservata, le macchine sono sempre in funzione e continueranno a sostenere costi per tutto il tempo in cui vengono rifornite.

Per informazioni, consultare 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 effettua le selezioni tra Sistema operativo, Runtime (s), Image e Image version. 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 ARM, scegli LinuxGPU, Linux o Windows. Se scegli Altro registro, per Registro esterno URL, inserisci 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 ECRrepository Amazon e ECRl'immagine Amazon per scegliere l'immagine Docker nel tuo AWS account.

  • Per utilizzare un'immagine Docker privata, scegli Immagine personalizzata. Per Tipo di ambiente ARM, scegli LinuxGPU, Linux o Windows. Per Registro immagini, scegli Altro registro, quindi inserisci le ARN 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 di servizio

Esegui una di queste 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 hai un ruolo CodeBuild di servizio, scegli Ruolo di servizio esistente. In Ruolo ARN, scegli il ruolo di servizio.

Nota

Quando utilizzi la console per creare un progetto di compilazione, puoi 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

Specificate 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 fare ciò è inizializzare il daemon Docker nella fase install delle specifiche di compilazione eseguendo i comandi di compilazione seguenti. Non eseguire questi comandi se hai scelto un'immagine dell'ambiente di compilazione CodeBuild fornita dal supporto Docker.

Nota

Per impostazione predefinita, il demone Docker è abilitato per le versioni non compilate. VPC Se desideri utilizzare i contenitori Docker per le VPC build, consulta Runtime Privilege e Linux Capabilities sul sito Web di 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 tuoVPC:

  • Per VPC, scegli l'VPCID che CodeBuild utilizza.

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

  • Per i gruppi VPC di sicurezza, scegli i gruppi di sicurezza da CodeBuild utilizzare per consentire l'accesso alle risorse in. VPCs

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

Calcolo

Scegli una delle opzioni disponibili.

Variabili di ambiente

Inserisci il nome e il valore, quindi scegli il tipo di ogni 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, come un ID di 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, per Tipo scegli Parameter. Per Nome, inserisci un identificativo CodeBuild a cui fare riferimento. Per Value, inserisci il nome del parametro memorizzato in Amazon EC2 Systems Manager Parameter Store. Utilizzando un parametro esemplificativo denominato /CodeBuild/dockerLoginPassword, per Type (Tipo) selezionare Parameter (Parametro). Per Nome, immetti 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 parametri 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 quella finestra di dialogo, per KMSchiave, puoi specificare il valore 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 usi la CodeBuild console per creare un parametro, la console avvia il nome del parametro con il /CodeBuild/ momento in cui viene memorizzato. Per ulteriori informazioni, consulta la procedura dettagliata della console di Systems Manager Parameter Store e Systems Manager Parameter Store nella Guida per l'utente di Amazon EC2 Systems Manager.

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

Se il tuo progetto di build si riferisce a parametri memorizzati 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 di servizio include l'autorizzazione a decrittografare tutti i parametri nello /CodeBuild/ spazio dei nomi 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 usi Secrets Manager, per Tipo, scegli Secrets Manager. Per Nome, inserite 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, consultare 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 tuo progetto di build fa riferimento a segreti archiviati in Secrets Manager, il ruolo di servizio del progetto di build 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 build. Tuttavia, se invece hai scelto Existing service role (Ruolo del servizio esistente), devi includere questa operazione al ruolo del servizio separatamente.

Se il tuo progetto di build 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 di servizio per consentire l'accesso ai nomi segreti che non iniziano con/CodeBuild/. Questo perché il ruolo di servizio consente l'accesso solo ai nomi segreti che iniziano con/CodeBuild/.

Se scegli Nuovo ruolo di servizio, il ruolo di servizio include l'autorizzazione a decrittografare tutti i segreti nello spazio dei /CodeBuild/ nomi in 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 di queste 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 file buildspec utilizza un nome o una posizione diversi, inserisci il percorso dalla radice di origine in Buildspec name (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 build. AWS Specificate il file buildspec utilizzandolo (ad esempio,). ARN 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 disponi di un lungo elenco di comandi per la build fase, aggiungi un buildspec.yml file alla directory principale del codice sorgente, aggiungi i comandi al file e quindi scegli Usa il buildspec.yml nella directory principale del codice sorgente.

Per ulteriori informazioni, consulta la Riferimento per buildspec.

Configurazione 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 build 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 di servizio.

Le build batch introducono un nuovo ruolo di sicurezza nella configurazione batch. Questo nuovo ruolo è obbligatorio in quanto è CodeBuild necessario poter richiamare StartBuildStopBuild, e RetryBuild le azioni 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 utilizzato nella build, per due motivi:

  • L'assegnazione del ruolo StartBuild di build e RetryBuild delle autorizzazioni consentirebbe a una singola build di avviare più build tramite buildspec. StopBuild

  • CodeBuild le build in batch forniscono 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 build dispone di queste autorizzazioni, è possibile che le build stesse possano aggirare queste restrizioni.

Tipi di calcolo consentiti per batch

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

Numero massimo di build consentite in batch

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

Timeout del batch

Immettere il periodo di tempo massimo per il completamento della creazione del batch.

Combina artefatti

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

Modalità report Batch

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

Nota

Questo campo è disponibile solo quando l'origine del progetto è Bitbucket o GitHub Enterprise e in Origine è selezionato Segnala lo stato della build al fornitore di origine quando le build iniziano e finiscono. GitHub

Building aggregate

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

Building individuali

Seleziona questa opzione per far sì che gli stati di compilazione di tutte le build del batch vengano riportati separatamente.

Artifacts

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

È possibile modificare le seguenti proprietà:

Tipo

Esegui una di queste operazioni:

  • Se non si desidera creare alcun artefatto di output di compilazione, scegliere No artifacts (Nessun artefatto). Potresti volerlo fare se stai solo eseguendo test di build o desideri inviare un'immagine Docker a un ECR repository Amazon.

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

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

    • 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 avete scelto Inserisci comandi di compilazione in precedenza in questa procedura, per i file di output, inserite le posizioni dei file della build che desiderate inserire nel ZIP file o nella cartella di output della build. 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 di queste 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 Chiave di crittografia, inserisci la chiave gestita dal cliente. ARN 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 e 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 del 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 Creazioni di cache per migliorare le prestazioni.

Log

Nella sezione Registri, 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 log o entrambi.

CloudWatch

Se desideri i log di Amazon CloudWatch Logs:

CloudWatch registri

Seleziona i CloudWatch registri.

Group name (Nome gruppo)

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

Nome dello stream

Inserisci il nome del flusso di CloudWatch log di Amazon Logs.

S3

Se desideri i log di Amazon S3:

Registri 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 registri S3 siano crittografati.

Modifica delle impostazioni di un progetto di compilazione (AWS CLI)

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

Per aggiornare un CodeBuild progetto con AWS CLI, create un JSON file con le proprietà aggiornate e passate il file al update-projectcomando. Tutte le proprietà non contenute nel file di aggiornamento rimangono invariate.

Nel JSON file 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/amazonlinux2-x86_64-standard:4.0" } }

Se avete bisogno di ottenere i valori correnti delle proprietà per un progetto, usate il batch-get-projectscomando 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 il 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 archiviatele e incollatele nel file di aggiornamento come base per le proprietà che desiderate modificare. Per ulteriori informazioni, consulta Visualizzazione dei dettagli di un progetto di compilazione (AWS CLI).

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

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

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

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

Modifica le impostazioni di un progetto di compilazione (AWS SDKs)

Per informazioni sull'utilizzo AWS CodeBuild con AWS SDKs, consulta laRiferimento per strumenti e SDK AWS.