Crea un progetto di compilazione 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à.

Crea un progetto di compilazione in AWS CodeBuild

È possibile utilizzare la AWS CodeBuild console o AWS SDKs creare un progetto di compilazione. AWS CLI

Prerequisiti

Prima di creare un progetto di compilazione, rispondi alle domande contenute inPianifica una compilazione.

Creare un progetto di compilazione (console)

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

Se viene visualizzata una pagina di CodeBuild informazioni, scegli Crea progetto di compilazione. Altrimenti, nel riquadro di navigazione, espandi Crea, scegli Crea progetti, quindi scegli Crea progetto di compilazione.

Scegliere Create build project (Crea progetto di compilazione).

Compila le seguenti sezioni. Una volta completato, scegli Crea progetto di compilazione nella parte inferiore della pagina.

Configurazione del progetto

Project name (Nome progetto)

Inserisci un nome per questo progetto di compilazione. I nomi dei progetti di build devono essere univoci per ogni AWS account.

Descrizione

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

Costruisci un badge

(Facoltativo) Seleziona Abilita il badge di costruzione per rendere visibile e incorporabile lo stato di costruzione 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

(Facoltativo) 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.

Informazioni aggiuntive

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

Origine

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

Modello di provisioning

Esegui una di queste 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 finché verranno rifornite.

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

Immagine dell'ambiente

Esegui una di queste operazioni:

  • Per utilizzare un'immagine Docker gestita da AWS CodeBuild, scegli Immagine gestita, quindi effettua le selezioni tra 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 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.

Calcolo

Esegui una di queste operazioni:

  • Per usare EC2 compute, scegli. EC2 EC2compute offre una flessibilità ottimizzata durante le operazioni.

  • Per usare l'elaborazione Lambda, scegli Lambda. L'elaborazione Lambda offre velocità di avvio ottimizzate per le tue build. Lambda supporta build più veloci grazie a una minore latenza di avvio. Lambda inoltre si ridimensiona automaticamente, quindi le build non devono attendere in coda per essere eseguite. Per informazioni, consultare Esegui build in modalità di calcolo AWS Lambda.

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
Limite di tentativi automatici

Specificate il numero di tentativi automatici aggiuntivi dopo una compilazione non riuscita. Ad esempio, se il limite di tentativi automatici è impostato su 2, CodeBuild chiamerà per RetryBuild API riprovare automaticamente la build per un massimo di 2 volte aggiuntive.

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

(Facoltativo) 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 fornita dal supporto Docker. CodeBuild

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 usare 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

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

È possibile eseguire un gruppo di build come singola operazione. Per ulteriori informazioni, consulta Esegui le build in batch.

Definire la configurazione in batch

Seleziona questa opzione per consentire le compilazioni in batch in questo progetto.

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

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

(Facoltativo) Scegliere una delle seguenti operazioni:

  • Per utilizzare la chiave di crittografia Chiave gestita da AWS per 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. ARN KMS 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

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.

Creazione di un progetto di compilazione (AWS CLI)

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

Per creare un progetto di CodeBuild compilazione utilizzando AWS CLI, JSON create una struttura di progetto formattata, compilate la struttura e chiamate il create-projectcomando per creare il progetto.

Crea il file JSON

Crea un JSON file scheletro con il create-projectcomando, usando l'--generate-cli-skeletonopzione:

aws codebuild create-project --generate-cli-skeleton > <json-file>

Questo crea un JSON file con il percorso e il nome di file specificati da <json-file>.

Compila il JSON file

Modifica i JSON dati come segue e salva i risultati.

{ "name": "<project-name>", "description": "<description>", "source": { "type": "CODECOMMIT" | "CODEPIPELINE" | "GITHUB" | "GITHUB_ENTERPRISE" | "GITLAB" | "GITLAB_SELF_MANAGED" | "BITBUCKET" | "S3" | "NO_SOURCE", "location": "<source-location>", "gitCloneDepth": "<git-clone-depth>", "buildspec": "<buildspec>", "InsecureSsl": "<insecure-ssl>", "reportBuildStatus": "<report-build-status>", "buildStatusConfig": { "context": "<context>", "targetUrl": "<target-url>" }, "gitSubmodulesConfig": { "fetchSubmodules": "<fetch-submodules>" }, "auth": { "type": "<auth-type>", "resource": "<auth-resource>" }, "sourceIdentifier": "<source-identifier>" }, "secondarySources": [ { "type": "CODECOMMIT" | "CODEPIPELINE" | "GITHUB" | "GITHUB_ENTERPRISE" | "GITLAB" | "GITLAB_SELF_MANAGED" | "BITBUCKET" | "S3" | "NO_SOURCE", "location": "<source-location>", "gitCloneDepth": "<git-clone-depth>", "buildspec": "<buildspec>", "InsecureSsl": "<insecure-ssl>", "reportBuildStatus": "<report-build-status>", "auth": { "type": "<auth-type>", "resource": "<auth-resource>" }, "sourceIdentifier": "<source-identifier>" } ], "secondarySourceVersions": [ { "sourceIdentifier": "<secondary-source-identifier>", "sourceVersion": "<secondary-source-version>" } ], "sourceVersion": "<source-version>", "artifacts": { "type": "CODEPIPELINE" | "S3" | "NO_ARTIFACTS", "location": "<artifacts-location>", "path": "<artifacts-path>", "namespaceType": "<artifacts-namespacetype>", "name": "<artifacts-name>", "overrideArtifactName": "<override-artifact-name>", "packaging": "<artifacts-packaging>" }, "secondaryArtifacts": [ { "type": "CODEPIPELINE" | "S3" | "NO_ARTIFACTS", "location": "<secondary-artifact-location>", "path": "<secondary-artifact-path>", "namespaceType": "<secondary-artifact-namespaceType>", "name": "<secondary-artifact-name>", "packaging": "<secondary-artifact-packaging>", "artifactIdentifier": "<secondary-artifact-identifier>" } ], "cache": { "type": "<cache-type>", "location": "<cache-location>", "mode": [ "<cache-mode>" ] }, "environment": { "type": "LINUX_CONTAINER" | "LINUX_GPU_CONTAINER" | "ARM_CONTAINER" | "WINDOWS_SERVER_2019_CONTAINER" | "WINDOWS_SERVER_2022_CONTAINER", "image": "<image>", "computeType": "BUILD_GENERAL1_SMALL" | "BUILD_GENERAL1_MEDIUM" | "BUILD_GENERAL1_LARGE" | "BUILD_GENERAL1_2XLARGE", "certificate": "<certificate>", "environmentVariables": [ { "name": "<environmentVariable-name>", "value": "<environmentVariable-value>", "type": "<environmentVariable-type>" } ], "registryCredential": [ { "credential": "<credential-arn-or-name>", "credentialProvider": "<credential-provider>" } ], "imagePullCredentialsType": "CODEBUILD" | "SERVICE_ROLE", "privilegedMode": "<privileged-mode>" }, "serviceRole": "<service-role>", "autoRetryLimit": <auto-retry-limit>, "timeoutInMinutes": <timeout>, "queuedTimeoutInMinutes": <queued-timeout>, "encryptionKey": "<encryption-key>", "tags": [ { "key": "<tag-key>", "value": "<tag-value>" } ], "vpcConfig": { "securityGroupIds": [ "<security-group-id>" ], "subnets": [ "<subnet-id>" ], "vpcId": "<vpc-id>" }, "badgeEnabled": "<badge-enabled>", "logsConfig": { "cloudWatchLogs": { "status": "<cloudwatch-logs-status>", "groupName": "<group-name>", "streamName": "<stream-name>" }, "s3Logs": { "status": "<s3-logs-status>", "location": "<s3-logs-location>", "encryptionDisabled": "<s3-logs-encryption-disabled>" } }, "fileSystemLocations": [ { "type": "EFS", "location": "<EFS-DNS-name-1>:/<directory-path>", "mountPoint": "<mount-point>", "identifier": "<efs-identifier>", "mountOptions": "<efs-mount-options>" } ], "buildBatchConfig": { "serviceRole": "<batch-service-role>", "combineArtifacts": <combine-artifacts>, "restrictions": { "maximumBuildsAllowed": <max-builds>, "computeTypesAllowed": [ "<compute-type>" ] }, "timeoutInMins": <batch-timeout>, "batchReportMode": "REPORT_AGGREGATED_BATCH" | "REPORT_INDIVIDUAL_BUILDS" }, "concurrentBuildLimit": <concurrent-build-limit> }

Sostituisci quanto segue:

name

Obbligatorio. Il nome di questo progetto di compilazione. Questo nome deve essere univoco per tutti i progetti di build del tuo AWS account.

description

Facoltativo. La descrizione di questo progetto di compilazione.

source (origine)

Obbligatorio. Un ProjectSourceoggetto che contiene informazioni sulle impostazioni del codice sorgente di questo progetto di build. Dopo aver aggiunto un oggetto source, è possibile aggiungere fino a più di 12 origini utilizzando la secondarySources. Queste impostazioni includono quanto segue:

fonte/ tipo

Obbligatorio. Il tipo di repository che contiene il codice sorgente da compilare. I valori validi includono:

  • CODECOMMIT

  • CODEPIPELINE

  • GITHUB

  • GITHUB_ENTERPRISE

  • GITLAB

  • GITLAB_SELF_MANAGED

  • BITBUCKET

  • S3

  • NO_SOURCE

Se utilizzi NO_SOURCE, la specifica di compilazione non può essere un file perché il progetto non ha un'origine. Invece, devi usare l'buildspecattributo per specificare una stringa in YAML formato -per il tuo buildspec. Per ulteriori informazioni, consulta Crea un progetto di compilazione senza una fonte.

fonte/ ubicazione

Richiesto a meno che non sia stato impostato <source-type> aCODEPIPELINE. La posizione del codice sorgente per il tipo di repository specificato.

  • Per CodeCommit, il HTTPS clone URL del repository che contiene il codice sorgente e il file buildspec (ad esempio,). https://git-codecommit.<region-id>.amazonaws.com/v1/repos/<repo-name>

  • Per Amazon S3, il nome del bucket di input della build, seguito dal percorso e dal nome del ZIP file che contiene il codice sorgente e la buildspec. Per esempio:

    • Per un ZIP file che si trova nella radice del bucket di input:. <bucket-name>/<object-name>.zip

    • Per un ZIP file che si trova in una sottocartella del bucket di input:. <bucket-name>/<subfoler-path>/<object-name>.zip

  • Per GitHub, il HTTPS clone URL del repository che contiene il codice sorgente e il file buildspec. Deve contenere github.com. URL Devi connettere il tuo AWS account al tuo account. GitHub Per fare ciò, usa la CodeBuild console per creare un progetto di compilazione.

    • Selezionare Authorize application (Autorizza applicazione). (Dopo esserti connesso al tuo GitHub account, non è necessario completare la creazione del progetto di compilazione. Puoi chiudere la CodeBuild console.)

  • Per GitHub Enterprise Server, clona HTTP o HTTPS clona URL nel repository che contiene il codice sorgente e il file buildspec. È inoltre necessario collegare l' AWS account all'account Enterprise Server. GitHub A tale scopo, utilizzate la CodeBuild console per creare un progetto di compilazione.

    1. Crea un token di accesso personale in GitHub Enterprise Server.

    2. Copia questo token negli appunti in modo da poterlo utilizzare durante la CodeBuild creazione del progetto. Per ulteriori informazioni, consulta Creazione di un token di accesso personale per la riga di comando sul sito Web di GitHub Help.

    3. Quando usi la console per creare il tuo CodeBuild progetto, in Source, for Source provider, scegli GitHubEnterprise.

    4. Per Personal Access Token (Token di accesso personale), incollare il token che è stato copiato negli Appunti. Selezionare Save Token (Salva token). Il tuo CodeBuild account è ora collegato al tuo account GitHub Enterprise Server.

  • Autogestito GitLab e GitLab autogestito, il HTTPS clone URL del repository che contiene il codice sorgente e il file buildspec. Nota che se lo usi GitLab, deve contenere gitlab.com. URL Se usi la GitLab gestione automatica, non è necessario che contenga URL gitlab.com. Devi connettere il tuo AWS account al tuo account o al tuo GitLab account autogestito. GitLab Per fare ciò, usa la CodeBuild console per creare un progetto di compilazione.

    • Nel riquadro di navigazione Strumenti per sviluppatori, scegli Impostazioni, Connessioni, quindi Crea connessione. In questa pagina, crea una connessione GitLab o una connessione GitLab gestita automaticamente, quindi scegli Connetti a GitLab.

  • Per Bitbucket, il HTTPS clone URL del repository che contiene il codice sorgente e il file buildspec. Deve contenere URL bitbucket.org. Devi anche connettere il tuo AWS account al tuo account Bitbucket. Per fare ciò, usa la CodeBuild console per creare un progetto di compilazione.

    1. Quando utilizzi la console per connetterti (o riconnetterti) a Bitbucket, nella pagina Confirm access to your account (Conferma l'accesso al tuo account) di Bitbucket, scegli Grant access (Concedi accesso). (Dopo esserti connesso al tuo account Bitbucket, non è necessario completare la creazione del progetto di build. Puoi chiudere la CodeBuild console.)

  • Per AWS CodePipeline, non specificare un location valore persource. CodePipeline ignora questo valore perché quando create una pipeline in CodePipeline, specificate la posizione del codice sorgente nella fase Source della pipeline.

fonte/ gitCloneDepth

Facoltativo. La profondità della cronologia da scaricare. Il valore minimo è 0. Se il valore è pari a 0, maggiore di 25 o non fornito, viene scaricata la cronologia completa con ogni progetto di build. Se il tipo di origine è Amazon S3, questo valore non è supportato.

sorgente/ buildspec

Facoltativo. La definizione o il file delle specifiche di compilazione da utilizzare. Se tale valore non è fornito o è impostato su una stringa vuota, il codice di origine deve contenere un file buildspec.yml nella directory radice. Se questo valore è impostato, può essere una definizione buildspec in linea, il percorso di un file buildspec alternativo relativo alla directory principale della fonte primaria o il percorso di un bucket S3. Il bucket deve trovarsi nella stessa regione del progetto di compilazione. AWS Specificate il file buildspec utilizzando il suo ARN (ad esempio,). arn:aws:s3:::<my-codebuild-sample2>/buildspec.yml Per ulteriori informazioni, consulta Nome del file buildspec e posizione di storage.

fonte/ autenticazione

Contiene informazioni sulle impostazioni di autorizzazione per l'accesso CodeBuild al codice sorgente da compilare.

source/auth/ type

Obbligatorio. Il tipo di autorizzazione da utilizzare. I valori validi sono:

  • OAUTH

  • CODECONNECTIONS

  • SECRETS_MANAGER

source/auth/ risorsa

Facoltativo. Il valore della risorsa che si applica al tipo di autorizzazione specificato. Può essere il Secrets Manager ARN o il CodeConnections ARN.

fonte/ reportBuildStatus

Specifica se inviare al provider di origine lo stato di avvio e di completamento di una compilazione. Se lo imposti con un provider di origine diverso GitHub da GitHub Enterprise Server o Bitbucket, viene generato un. invalidInputException

Per poter segnalare lo stato della build al provider di origine, l'utente associato al provider di origine deve disporre dell'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.

fonte/ buildStatusConfig

Contiene informazioni che definiscono il modo in cui il progetto di CodeBuild compilazione riporta lo stato della compilazione al fornitore di origine. Questa opzione viene utilizzata solo quando il tipo di origine è GITHUBGITHUB_ENTERPRISE, oBITBUCKET.

contesto source//buildStatusConfig

Per le sorgenti Bitbucket, questo parametro viene utilizzato per il name parametro nello stato del commit di Bitbucket. Per GitHub le fonti, questo parametro viene utilizzato per il context parametro nello stato del commit. GitHub

Ad esempio, puoi fare in modo che context contenga il numero di build e il trigger del webhook utilizzando le variabili di CodeBuild ambiente:

AWS CodeBuild sample-project Build #$CODEBUILD_BUILD_NUMBER - $CODEBUILD_WEBHOOK_TRIGGER

Il risultato è che il contesto appare così per la build #24 innescato da un evento di pull request del webhook:

AWS CodeBuild sample-project Build #24 - pr/8
fonte//buildStatusConfigtargetUrl

Per le sorgenti Bitbucket, questo parametro viene utilizzato per il url parametro nello stato del commit di Bitbucket. Per GitHub le fonti, questo parametro viene utilizzato per il target_url parametro nello stato del commit. GitHub

Ad esempio, puoi impostare targetUrl to https://aws.amazon.com/codebuild/<path to build> e lo stato di commit si collegherà a questoURL.

È inoltre possibile includere variabili di CodeBuild ambiente in targetUrl per aggiungere ulteriori informazioni aURL. Ad esempio, per aggiungere la regione di compilazione aURL, imposta targetUrl su:

"targetUrl": "https://aws.amazon.com/codebuild/<path to build>?region=$AWS_REGION"

Se l'area di creazione èus-east-2, questa si espanderà a:

https://aws.amazon.com/codebuild/<path to build>?region=us-east-2
fonte/ gitSubmodulesConfig

Facoltativo. Informazioni sulla configurazione dei moduli secondari Git. Utilizzato solo con CodeCommit GitHub, GitHub Enterprise Server e Bitbucket.

fonte//gitSubmodulesConfigfetchSubmodules

Impostare fetchSubmodules su true se desideri includere i moduli secondari Git nel repository. I sottomoduli Git inclusi devono essere configurati comeHTTPS.

fonte/ InsecureSsl

Facoltativo. Utilizzato solo con GitHub Enterprise Server. Impostate questo valore su per true ignorare TLS gli avvisi durante la connessione al repository del progetto GitHub Enterprise Server. Il valore predefinito è false. InsecureSsl deve essere utilizzato solo a scopo di test. Non deve essere utilizzato in un ambiente di produzione.

fonte/ sourceIdentifier

Un identificatore definito dall'utente per l'origine del progetto. Facoltativo per la fonte principale. Obbligatorio per le fonti secondarie.

secondarySources

Facoltativo. Una serie di ProjectSourceoggetti che contengono informazioni sulle fonti secondarie per un progetto di compilazione. È possibile aggiungere fino a 12 fonti secondarie. Gli secondarySources oggetti utilizzano le stesse proprietà utilizzate dall'source (origine)oggetto. In un oggetto di origine secondario, sourceIdentifier è obbligatorio.

secondarySourceVersions

Facoltativo. Un array di oggetti ProjectSourceVersion. Se secondarySourceVersions vengono specificate a livello di compilazione, hanno la precedenza su questo.

sourceVersion

Facoltativo. La versione dell'input di compilazione da creare per questo progetto. Se non è specificato, viene utilizzata la versione più recente. Se specificato, deve essere uno tra:

  • Per CodeCommit, l'ID di commit, il ramo o il tag Git da utilizzare.

  • Ad GitHub esempio, l'ID di commit, l'ID della richiesta pull, il nome del ramo o il nome del tag che corrisponde alla versione del codice sorgente che desideri creare. Se si specifica l'ID di una richiesta pull, deve utilizzare il formato pr/pull-request-ID (ad esempio pr/25). Se viene specificato un nome di ramo, viene utilizzato l'ID di HEAD commit del ramo. Se non viene specificato, viene utilizzato l'ID di HEAD commit del ramo predefinito.

  • Per GitLab, l'ID di commit, l'ID della richiesta pull, il nome del ramo, il nome del tag o il riferimento e un ID di commit. Per ulteriori informazioni, consulta Esempio di versione sorgente con AWS CodeBuild.

  • Per Bitbucket, l'ID commit, il nome ramo o il nome del tag che corrisponde alla versione del codice sorgente che si desidera creare. Se viene specificato il nome di un ramo, viene utilizzato l'ID di HEAD commit del ramo. Se non viene specificato, viene utilizzato l'ID di HEAD commit del ramo predefinito.

  • Per Amazon S3, l'ID di versione dell'oggetto che rappresenta il ZIP file di input della build da utilizzare.

Se sourceVersion è specificata a livello di compilazione, questa versione ha la precedenza rispetto a sourceVersion (a livello di progetto). Per ulteriori informazioni, consulta Esempio di versione sorgente con AWS CodeBuild.

artefatti

Obbligatorio. Un ProjectArtifactsoggetto che contiene informazioni sulle impostazioni degli artefatti di output di questo progetto di build. Dopo aver aggiunto un oggetto artifacts, è possibile aggiungere fino a più di 12 artefatti utilizzando la secondaryArtifacts. Queste impostazioni includono quanto segue:

artefatti/ tipo

Obbligatorio. Tipo di artefatto di output della build. I valori validi sono:

  • CODEPIPELINE

  • NO_ARTIFACTS

  • S3

artefatti/ posizione

Utilizzato solo con il tipo di artefatto. S3 Non utilizzato per altri tipi di artefatti.

Il nome del bucket di output che hai creato o identificato nei prerequisiti.

artefatti/ percorso

Utilizzato solo con il tipo di artefatto. S3 Non utilizzato per altri tipi di artefatti.

Il percorso all'interno del bucket di output in cui inserire il ZIP file o la cartella. Se non specificate un valore perpath, CodeBuild utilizza namespaceType (se specificato) e per name determinare il percorso e il nome del ZIP file o della cartella di output della build. Ad esempio, se si specifica MyPath for path e MyArtifact.zip forname, il percorso e il nome sarebberoMyPath/MyArtifact.zip.

artefatti/ namespaceType

Utilizzato solo con il tipo di artefatto. S3 Non utilizzato per altri tipi di artefatti.

Lo spazio dei nomi del file o della cartella di output ZIP della build. I valori validi includono BUILD_ID e NONE. Utilizzato BUILD_ID per inserire l'ID di build nel percorso del ZIP file o della cartella di output della build. In caso contrario, utilizzare NONE. Se non specificate un valore pernamespaceType, CodeBuild utilizza path (se specificato) e per name determinare il percorso e il nome del ZIP file o della cartella di output della build. Ad esempio, se si specifica MyPath for pathnamespaceType, BUILD_ID for e MyArtifact.zip forname, il percorso e il nome sarebberoMyPath/build-ID/MyArtifact.zip.

artifacts/name

Utilizzato solo con il tipo di S3 artefatto. Non utilizzato per altri tipi di artefatti.

Il nome del ZIP file o della cartella di output della build all'interno di. location Ad esempio, se si specifica MyPath for path e MyArtifact.zip forname, il percorso e il nome sarebberoMyPath/MyArtifact.zip.

artefatti/ overrideArtifactName

Utilizzato solo con il tipo di artefatto S3. Non utilizzato per altri tipi di artefatti.

Facoltativo. Se impostato sutrue, il nome specificato nel artifacts blocco del file buildspec ha la precedenza. name Per ulteriori informazioni, consulta Riferimento alle specifiche di costruzione per CodeBuild.

artefatti/ imballaggio

Utilizzato solo con il tipo di artefatto. S3 Non utilizzato per altri tipi di artefatti.

Facoltativo. Specifica come impacchettare gli artefatti. I valori consentiti sono:

NONE

Crea una cartella che contenga gli artefatti della build. Si tratta del valore di default.

ZIP

Crea un ZIP file che contenga gli artefatti della build.

secondaryArtifacts

Facoltativo. Una serie di ProjectArtifactsoggetti che contengono informazioni sulle impostazioni degli artefatti secondari per un progetto di compilazione. È possibile aggiungere fino a 12 artefatti secondari. Il secondaryArtifacts utilizza molte delle stesse impostazioni utilizzate dall'oggetto artefatti.

cache

Obbligatorio. Un ProjectCacheoggetto che contiene informazioni sulle impostazioni della cache di questo progetto di build. Per ulteriori informazioni, consulta Compilazioni di cache.

ambiente

Obbligatorio. Un ProjectEnvironmentoggetto che contiene informazioni sulle impostazioni dell'ambiente di compilazione di questo progetto. Queste impostazioni includono:

ambiente/ tipo

Obbligatorio. Il tipo di ambiente di compilazione. Per ulteriori informazioni, consulta type in CodeBuild APIReference.

ambiente/ immagine

Obbligatorio. L'identificatore dell'immagine Docker utilizzato da questo ambiente di compilazione. In genere, questo identificatore è espresso come image-name:tag. Ad esempio, nel repository Docker che CodeBuild utilizza per gestire le sue immagini Docker, questo potrebbe essere. aws/codebuild/standard:5.0 In Docker Hub, maven:3.3.9-jdk-8. In AmazonECR,account-id.dkr.ecr.region-id.amazonaws.com/your-Amazon-ECR-repo-name:tag. Per ulteriori informazioni, consulta Immagini Docker fornite da CodeBuild.

ambiente/ computeType

Obbligatorio. Specifica le risorse di calcolo utilizzate da questo ambiente di compilazione. Per ulteriori informazioni, vedere computeTypenella Guida di riferimento. CodeBuild API

ambiente/ certificato

Facoltativo. Il ARN bucket Amazon S3, il prefisso del percorso e la chiave oggetto che contiene il certificato con codifica. PEM La chiave dell'oggetto può essere solo il file.pem o un file.zip contenente il certificato -encoded. PEM Ad esempio, se il nome del bucket Amazon S3 è<my-bucket>, il prefisso del percorso è e il nome della chiave dell'oggetto è <cert><certificate.pem>, allora i formati accettabili per sono o. certificate <my-bucket/cert/certificate.pem> arn:aws:s3:::<my-bucket/cert/certificate.pem>

ambiente/ environmentVariables

Facoltativo. Una matrice di EnvironmentVariableoggetti che contiene le variabili di ambiente che si desidera specificare per questo ambiente di compilazione. Ogni variabile di ambiente è espressa come un oggetto che contiene un namevalue, e type of namevalue, etype.

La console e AWS CLI gli utenti possono visualizzare tutte le variabili di ambiente. Se non avete dubbi sulla visibilità della variabile di ambiente, impostate name e value impostate type suPLAINTEXT.

Ti consigliamo di memorizzare le variabili di ambiente con valori sensibili, come 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. Infattiname, per quel parametro memorizzato, imposta un identificatore CodeBuild a cui fare riferimento.

Se utilizzi Amazon EC2 Systems Manager Parameter Store, pervalue, imposta il nome del parametro così come memorizzato nel Parameter Store. Imposta type su PARAMETER_STORE. Utilizzando un parametro denominato /CodeBuild/dockerLoginPassword come esempio, imposta name suLOGIN_PASSWORD. Imposta value su /CodeBuild/dockerLoginPassword. Imposta type su PARAMETER_STORE.

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 usare 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, forvalue, imposta il nome del parametro come memorizzato in Secrets Manager. Imposta type su SECRETS_MANAGER. Utilizzando un segreto denominato /CodeBuild/dockerLoginPassword come esempio, impostate name suLOGIN_PASSWORD. Imposta value su /CodeBuild/dockerLoginPassword. Imposta type su SECRETS_MANAGER.

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.

ambiente/ registryCredential

Facoltativo. Un RegistryCredentialoggetto che specifica le credenziali che forniscono l'accesso a un registro Docker privato.

ambiente//credenziale registryCredential

Speciifica il nome ARN o il nome delle credenziali create utilizzando. AWS Managed Services Puoi utilizzare il nome delle credenziali solo se sono presenti nella regione corrente.

ambiente//registryCredentialcredentialProvider

L'unico valore valido è SECRETS_MANAGER.

Quando questo è impostato:

  • imagePullCredentials deve essere impostato su SERVICE_ROLE.

  • L'immagine non può essere un'immagine curata o un'ECRimmagine Amazon.

ambiente/ Tipo imagePullCredentials

Facoltativo. Il tipo di credenziali CodeBuild utilizzate per estrarre le immagini nella build. Esistono due valori validi:

CODEBUILD

CODEBUILDspecifica che CodeBuild utilizza le proprie credenziali. È necessario modificare la politica del ECR repository Amazon per considerare affidabile il responsabile del CodeBuild servizio.

SERVICE_ROLE

Specifica che CodeBuild utilizza il ruolo di servizio del tuo progetto di build.

Quando utilizzi un'immagine di registro condivisa tra account o privata, devi utilizzare le credenziali SERVICE_ROLE. Quando si utilizza un'immagine CodeBuild curata, è necessario utilizzare CODEBUILD le credenziali.

ambiente/ privilegedMode

Imposta su true 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 del file buildspec eseguendo i comandi di compilazione seguenti. Non eseguire questi comandi se hai specificato 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"

serviceRole

Obbligatorio. Il ruolo ARN del servizio CodeBuild viene utilizzato per interagire con i servizi per conto dell'utente (ad esempio,arn:aws:iam::account-id:role/role-name).

autoRetryLimit

Facoltativo. Il numero di tentativi automatici aggiuntivi dopo una compilazione non riuscita. Ad esempio, se il limite di tentativi automatici è impostato su 2, CodeBuild chiamerà per RetryBuild API riprovare automaticamente la build per un massimo di 2 volte aggiuntive.

timeoutInMinutes

Facoltativo. Il numero di minuti, compreso tra 5 e 2160 (36 ore), trascorsi i quali CodeBuild interrompe la compilazione se non è completa. Se non specificato, viene utilizzato il valore predefinito di 60. Per determinare se e quando una compilazione è stata CodeBuild interrotta a causa di un timeout, esegui il batch-get-builds comando. Per determinare se la compilazione si è interrotta, cercare nell'output un valore buildStatus di FAILED. Per determinare quando è scaduta la compilazione, cercare nell'output il valore endTime associato a un valore phaseStatus di TIMED_OUT.

queuedTimeoutInMinuti

Facoltativo. Il numero di minuti, compreso tra 5 e 480 (8 ore), dopo i quali CodeBuild interrompe la compilazione se è ancora in coda. Se non specificato, viene utilizzato il valore predefinito di 60.

encryptionKey

Facoltativo. L'alias o ARN dell'alias AWS KMS key usato da per CodeBuild crittografare l'output della build. Se si specifica un alias, utilizzare il formato arn:aws:kms:region-ID:account-ID:key/key-ID oppure, se un alias esiste, utilizzare il formato alias/key-alias. Se non specificato, viene utilizzata la KMS chiave AWS gestita per Amazon S3.

tags

Facoltativo. Una serie di oggetti Tag che forniscono i tag da associare a questo progetto di build. È possibile specificare fino a 50 tag. Questi tag possono essere utilizzati da qualsiasi AWS servizio che supporti i tag del progetto di CodeBuild compilazione. Ogni tag è espresso come un oggetto con a key e avalue.

vpcConfig

Facoltativo. Un VpcConfigoggetto che contiene informazioni sulla VPC configurazione del progetto. Per ulteriori informazioni, consulta Utilizzo AWS CodeBuild con Amazon Virtual Private Cloud.

Queste proprietà includono:

vpcId

Obbligatorio. L'VPCID che CodeBuild utilizza. Esegui questo comando per ottenere un elenco di tutti i dati VPC IDs presenti nella tua regione:

aws ec2 describe-vpcs --region <region-ID>
sottoreti

Obbligatorio. Un array di sottoreti IDs che include le risorse utilizzate da CodeBuild. Esegui questo comando per ottenere questiIDs:

aws ec2 describe-subnets --filters "Name=vpc-id,Values=<vpc-id>" --region <region-ID>
securityGroupIds

Obbligatorio. Una serie di gruppi di sicurezza IDs utilizzati da CodeBuild per consentire l'accesso alle risorse inVPC. Esegui questo comando per ottenere questiIDs:

aws ec2 describe-security-groups --filters "Name=vpc-id,Values=<vpc-id>" --<region-ID>

badgeEnabled

Facoltativo. Specifica se includere i badge di costruzione nel progetto. CodeBuild Imposta per true abilitare i badge di costruzione o altro. false Per ulteriori informazioni, consulta Crea un esempio di badge con CodeBuild.

logsConfig

Un LogsConfigoggetto che contiene informazioni su dove si trovano i log di questa build.

logsConfig/cloudWatchLogs

Un CloudWatchLogsConfigoggetto che contiene informazioni sull'invio di log a Logs. CloudWatch

logsConfig/S3logs

Un LogsConfig oggetto S3 che contiene informazioni sull'invio di log ad Amazon S3.

fileSystemLocations

Facoltativo. Una serie di ProjectFileSystemsLocationoggetti che contiene informazioni sulla tua configurazione AmazonEFS.

buildBatchConfig

Facoltativo. L'buildBatchConfigoggetto è una ProjectBuildBatchConfigstruttura che contiene le informazioni di configurazione della build in batch per il progetto.

buildBatchConfig/serviceRole

Il ruolo di servizio ARN per il progetto di compilazione in batch.

buildBatchConfig/combineArtifacts

Un valore booleano che specifica se combinare gli elementi di compilazione per la creazione in batch in un'unica posizione dell'artefatto.

buildBatchConfig/restrizioni/ maximumBuildsAllowed

Il numero massimo di build consentite.

buildBatchConfig/restrizioni/ computeTypesAllowed

Array di stringhe che specificano i tipi di calcolo consentiti per la compilazione batch. Vedi Tipi di calcolo dell'ambiente di compilazione per questi valori.

buildBatchConfig/timeoutInMinutes

Il tempo massimo, in minuti, entro il quale la compilazione in batch deve essere completata.

buildBatchConfig/batchReportMode

Specifica la modalità di invio dei rapporti sullo stato di compilazione al provider di origine per la compilazione in batch. I valori validi includono:

REPORT_AGGREGATED_BATCH

(Impostazione predefinita) Aggrega tutti gli stati di compilazione in un unico rapporto.

REPORT_INDIVIDUAL_BUILDS

Invia un rapporto distinto per ogni singola compilazione.

concurrentBuildLimit

Il numero massimo di compilazioni simultanee consentite per il progetto.

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.

Creazione del progetto

Per creare il progetto, esegui nuovamente il create-project comando, passando il JSON file:

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

In caso di successo, la JSON rappresentazione di un oggetto Project viene visualizzata nell'output della console. Vedi la sintassi di CreateProject risposta per un esempio di questi dati.

A eccezione del nome del progetto di compilazione, è possibile modificare tutte le impostazioni del progetto di compilazione in un secondo momento. Per ulteriori informazioni, consulta Modifica delle impostazioni di un progetto di compilazione (AWS CLI).

Per avviare l'esecuzione di una compilazione, consulta Esecuzione di una compilazione (AWS CLI).

Se il codice sorgente è archiviato in un GitHub repository e desideri CodeBuild ricostruirlo ogni volta che viene inserita una modifica al codice nel repository, consulta. Avvio di esecuzioni di compilazione automaticamente (AWS CLI)

Creazione di un progetto di compilazione (AWS SDKs)

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

Creazione di un progetto di compilazione (AWS CloudFormation)

Per informazioni sull'utilizzo AWS CodeBuild con AWS CloudFormation, consultate il AWS CloudFormation modello disponibile CodeBuild nella Guida per l'AWS CloudFormation utente.