

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
<a name="create-project"></a>

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

**Topics**
+ [

## Prerequisiti
](#create-project-prerequisites)
+ [

## Creare un progetto di compilazione (console)
](#create-project-console)
+ [

## Creazione di un progetto di compilazione (AWS CLI)
](#create-project-cli)
+ [

## Creazione di un progetto di compilazione (AWS SDKs)
](#create-project-sdks)
+ [

## Creazione di un progetto di compilazione (CloudFormation)
](#create-project-cloud-formation)

## Prerequisiti
<a name="create-project-prerequisites"></a>

Prima di creare un progetto di compilazione, rispondi alle domande contenute in[Pianifica una compilazione](planning.md).

## Creare un progetto di compilazione (console)
<a name="create-project-console"></a>

Apri la AWS CodeBuild console su [https://console.aws.amazon.com/codesuite/codebuild/home](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.

**Topics**
+ [

### Configurazione del progetto
](#create-project-console-project-config)
+ [

### Origine
](#create-project-console-source)
+ [

### Ambiente
](#create-project-console-environment)
+ [

### Buildspec
](#create-project-console-buildspec)
+ [

### Configurazione Batch
](#create-project-console-batch-config)
+ [

### Artifacts
](#create-project-console-artifacts)
+ [

### Log
](#create-project-console-logs)

### Configurazione del progetto
<a name="create-project-console-project-config"></a>

**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](sample-build-badges.md).  
Il badge Build non si applica se il tuo provider di origine è Amazon S3. 

**Abilita il limite di compilazione simultanea**  <a name="enable-concurrent-build-limit.console"></a>
(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.

1. 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
<a name="create-project-console-source"></a>

**Fornitore 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:  
CodeBuild non supporta Bitbucket Server.

------
#### [ Amazon S3 ]

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

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

 **Versione sorgente**   
Immettete l'ID di versione dell'oggetto che rappresenta la build del file di input. Per ulteriori informazioni, consulta[Esempio di versione sorgente con AWS CodeBuild](sample-source-version.md). 

------
#### [ 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](sample-source-version.md).  
Ti consigliamo di scegliere nomi di branch Git che non assomiglino a commit IDs, come `811dd1ba1aba14473856cee38308caed7190c0d` o`5392f7`. 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 **CodeConnections**la **OAuth****password 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 inserisci l'URL del repository**.

 **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](sample-source-version.md)   
Ti consigliamo di scegliere nomi di branch Git che non assomiglino a commit IDs, come `811dd1ba1aba14473856cee38308caed7190c0d` o`5392f7`. 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](access-tokens.md).  
Per il **contesto Status**, inserisci il valore da utilizzare per il `name` parametro nello stato del commit di Bitbucket. Per ulteriori informazioni, consulta [compilazione](https://developer.atlassian.com/bitbucket/api/2/reference/resource/repositories/%7Bworkspace%7D/%7Brepo_slug%7D/commit/%7Bnode%7D/statuses/build) nella documentazione di riferimento dell'API Bitbucket.  
Per **Target URL**, inserisci il valore da utilizzare per il `url` parametro nello stato del commit di Bitbucket. Per ulteriori informazioni, consulta [compilazione](https://developer.atlassian.com/bitbucket/api/2/reference/resource/repositories/%7Bworkspace%7D/%7Brepo_slug%7D/commit/%7Bnode%7D/statuses/build) nella documentazione di riferimento dell'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 chiamata API venga segnalato 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](bitbucket-webhook.md)

------
#### [ 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 inserisci l'URL del repository.

 **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](sample-source-version.md)   
Ti consigliamo di scegliere nomi di branch Git che non assomiglino a commit IDs, come `811dd1ba1aba14473856cee38308caed7190c0d` o`5392f7`. 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](access-tokens.md).  
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](https://developer.github.com/v3/repos/statuses/#create-a-commit-status) 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](https://developer.github.com/v3/repos/statuses/#create-a-commit-status) 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 chiamata API venga segnalato 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-webhook.md)

------
#### [ 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 **CodeConnections**nostro **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 inserisci l'URL del repository.

**Versione sorgente**  
Inserisci una pull request, un branch, un ID di commit, un tag o un riferimento e un ID di commit. Per ulteriori informazioni, consulta [Esempio di versione sorgente con AWS CodeBuild](sample-source-version.md).   
Ti consigliamo di scegliere nomi di branch Git che non assomiglino a commit IDs, come `811dd1ba1aba14473856cee38308caed7190c0d` o`5392f7`. 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](access-tokens.md).  
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](https://developer.github.com/v3/repos/statuses/#create-a-commit-status) 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](https://developer.github.com/v3/repos/statuses/#create-a-commit-status) 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 chiamata API venga segnalato 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.

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

In **Primary source webhook events**, seleziona **Ricostruisci ogni volta che viene inserita una modifica al codice in questo repository** se desideri creare il codice sorgente ogni volta che viene inserita una modifica CodeBuild al codice in questo repository. Per ulteriori informazioni sui webhook e sui gruppi di filtri, consulta. [GitHub eventi webhook](github-webhook.md)

------
#### [ 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**   
**CodeConnections**viene 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](sample-source-version.md).   
Ti consigliamo di scegliere nomi di branch Git che non assomiglino a commit IDs, come `811dd1ba1aba14473856cee38308caed7190c0d` o`5392f7`. 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](access-tokens.md).

------
#### [ 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**   
**CodeConnections**viene 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](sample-source-version.md).   
Ti consigliamo di scegliere nomi di branch Git che non assomiglino a commit IDs, come `811dd1ba1aba14473856cee38308caed7190c0d` o`5392f7`. 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](access-tokens.md).

------

### Ambiente
<a name="create-project-console-environment"></a>

**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](fleets.md).

**Immagine dell'ambiente**  <a name="environment-image.console"></a>
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**, scegli **ARM**, **Linux**, **Linux GPU** o Windows.** Se si sceglie **Other registry (Altro registro)**, fin **External registry URL (URL registro esterno)**, inserire il nome e il tag dell'immagine Docker in Docker Hub, utilizzando il formato `docker repository/docker image name`. Se scegli **Amazon ECR**, utilizza il **repository Amazon ECR e** l'immagine **Amazon ECR per scegliere l'immagine** Docker nel tuo account. AWS 
+ **Per utilizzare un'immagine Docker privata, scegli Immagine personalizzata.** **Per il **tipo di ambiente**, scegli **ARM**, **Linux**, **Linux GPU** o Windows.** Per **Image registry (Registro immagine)**, selezionare **Other registry (Altro registro)**, quindi immettere l'ARN delle credenziali per l'immagine Docker privata. Le credenziali devono essere create da Secrets Manager. Per ulteriori informazioni, consulta [Che cos'è Gestione dei segreti AWS?](https://docs.aws.amazon.com/secretsmanager/latest/userguide/) nella *Guida per l'utente di Gestione dei segreti AWS *.
CodeBuild sostituisce le immagini Docker `ENTRYPOINT` personalizzate.

**Calcolo**  
Esegui una di queste operazioni:  
+ Per usare EC2 compute, scegli. **EC2** EC2 compute 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 su calcolo AWS Lambda](lambda.md).

**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 **Role ARN, scegli il ruolo** di servizio.
Quando usi la console per creare un progetto di build, 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à l'`RetryBuild`API per 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   
Per impostazione predefinita, il daemon Docker è abilitato per le build non VPC. Se desideri utilizzare i contenitori Docker per le build VPC, [consulta Runtime Privilege e Linux Capabilities sul sito Web di Docker Docs e](https://docs.docker.com/engine/reference/run/#runtime-privilege-and-linux-capabilities) abilita la modalità privilegiata. Inoltre, Windows non supporta la modalità privilegiata.

```
- nohup /usr/local/bin/dockerd --host=unix:///var/run/docker.sock --host=tcp://127.0.0.1:2375 --storage-driver=overlay2 &
- timeout 15 sh -c "until docker info; do echo .; sleep 1; done"
```  
**VPC**  
Se vuoi CodeBuild lavorare con il tuo VPC:  
+ Per **VPC**, scegli l'ID VPC che utilizza. CodeBuild 
+ Per le sottoreti **VPC, scegli le sottoreti** che includono le risorse che utilizza. CodeBuild 
+ Per i **gruppi di sicurezza VPC**, scegli i gruppi di sicurezza da CodeBuild utilizzare per consentire l'accesso alle risorse in. VPCs
Per ulteriori informazioni, consulta [Utilizzo AWS CodeBuild con Amazon Virtual Private Cloud](vpc-support.md).  
**Calcolo**  
Scegli una delle opzioni disponibili.  
**Credenziali di registro**  
Specificare una credenziale di registro quando il progetto è configurato con un'immagine di registro non privata.  
Questa credenziale verrà utilizzata solo se le immagini vengono sostituite con quelle dei registri privati.  
**Variabili di ambiente**  
Immettete il nome e il valore, quindi scegliete il tipo di ogni variabile di ambiente da utilizzare per le build.   
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\$1ACCOUNT\$1ID
+ IMAGE\$1REPO\$1NAME
+ IMAGE\$1TAG
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 Gestione dei segreti AWS.   
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`.   
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 la **chiave KMS**, puoi specificare l'ARN di AWS KMS una 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](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-paramstore.html) e Systems Manager Parameter Store nella Guida](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-paramstore-walk.html#sysman-paramstore-console) 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:GetParameters`azione. 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](build-spec-ref.md#secrets-manager-build-spec).  
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'è Gestione dei segreti AWS?](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html) nella *Guida per l'utente di Gestione dei segreti AWS *.   
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:GetSecretValue`azione. 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
<a name="create-project-console-buildspec"></a>

**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 tuo 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 utilizzando il relativo ARN (ad esempio,). `arn:aws:s3:::<my-codebuild-sample2>/buildspec.yml`
+ Se il codice sorgente non include un file di specifiche di compilazione o se desideri eseguire comandi di compilazione diversi da quelli specificati per la fase `build` del file `buildspec.yml` nella directory radice del codice sorgente, scegli **Insert build commands (Inserisci comandi di compilazione)**. Per **Build commands (Comandi di compilazione)**, immetti i comandi che desideri eseguire nella fase `build`. In caso di più comandi, separa ogni comando con `&&` (ad esempio `mvn test && mvn package`). Per eseguire comandi in altre fasi, o se 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](build-spec-ref.md).

### Configurazione Batch
<a name="create-project-console-batch-config"></a>

È possibile eseguire un gruppo di build come singola operazione. Per ulteriori informazioni, consulta [Esegui le build in batch](batch-build.md).

**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 `StartBuild``StopBuild`, 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.

**Flotte consentite per lotto**  
Seleziona le flotte consentite 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.  
**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
<a name="create-project-console-artifacts"></a>

**Tipo**  
Esegui una di queste operazioni:  
+ Se non si desidera creare alcun artefatto di output di compilazione, scegliere **No artifacts (Nessun artefatto)**. Questa operazione potrebbe essere utile se esegui solo test di compilazione o desideri inviare un'immagine Docker a un repository Amazon ECR.
+ Per archiviare l'output della build in un bucket S3, scegli **Amazon S3**, quindi procedi come segue:
  + Se desideri utilizzare il tuo nome di progetto per la cartella o il file ZIP di output di compilazione, lascia vuoto il campo **Name (Nome)**. In caso contrario, digitare il nome. Se desideri eseguire l'output di un file ZIP e vuoi che il file ZIP abbia un'estensione di file, assicurati di includerla dopo il nome del file ZIP.
  + Selezionare **Enable semantic versioning (Abilita funzione Versioni multiple semantica)** se si desidera che un nome specificato nel file buildspec sostituisca qualsiasi nome specificato nella console. Il nome del file di specifiche di compilazione viene calcolato in fase di compilazione e utilizza il linguaggio di comando Shell. Ad esempio, è possibile aggiungere una data e un'ora al nome dell'artefatto in modo che sia sempre univoco. I nomi di artefatto univoci impediscono che gli artefatti vengano sovrascritti. Per ulteriori informazioni, consulta [Sintassi buildspec](build-spec-ref.md#build-spec-ref-syntax).
  + Per **Bucket name (Nome bucket)** selezionare il nome del bucket di output.
  + Se hai scelto **Insert build commands (Inserisci comandi di compilazione)** in una fase precedente di questa procedura, quindi per **Output files (File di output)**, immetti le posizioni dei file di compilazione che desideri inserire nella cartella o nel file ZIP dell'output di compilazione. Per più posizioni, separarne ognuna con una virgola (per esempio, `appspec.yml, target/my-app.jar`). Per ulteriori informazioni, consultare la descrizione di `files` in [Sintassi buildspec](build-spec-ref.md#build-spec-ref-syntax).
  + 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.

1. Scegliere **Add artifact (Aggiungi artefatto)**.

1. Seguire le fasi precedenti configurare gli artefatti secondari.

1. 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 l'ARN della chiave 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](build-spec-ref.md#build-spec-ref-syntax). Per ulteriori informazioni sul caching, consulta [Creazioni di cache per migliorare le prestazioni](build-caching.md). 

### Log
<a name="create-project-console-logs"></a>

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 logs**  
**Seleziona i logCloudWatch .**  
**Group name** (Nome gruppo)  
Inserisci il nome del tuo gruppo di CloudWatch log Amazon Logs.  
**Nome dello stream**  
Inserisci il nome del tuo 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)
<a name="create-project-cli"></a>

Per ulteriori informazioni sull'utilizzo di AWS CLI with CodeBuild, consulta. [Guida di riferimento alla riga di comando](cmd-ref.md)

Per creare un progetto di CodeBuild compilazione utilizzando AWS CLI, crei una struttura di [progetto](https://docs.aws.amazon.com/codebuild/latest/APIReference/API_Project.html) in formato JSON, compili la struttura e chiami il [https://docs.aws.amazon.com/cli/latest/reference/codebuild/create-project.html](https://docs.aws.amazon.com/cli/latest/reference/codebuild/create-project.html)comando per creare il progetto.

### Crea il file JSON
<a name="cp-cli-create-file"></a>

Crea un file JSON scheletrico con il [https://docs.aws.amazon.com/cli/latest/reference/codebuild/create-project.html](https://docs.aws.amazon.com/cli/latest/reference/codebuild/create-project.html)comando, utilizzando l'opzione: `--generate-cli-skeleton`

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

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

### Compila il file JSON
<a name="cp-cli-fill-in-file"></a>

Modifica i dati JSON 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>"
      ],
      "fleetsAllowed": [
        "<fleet-name>"
      ]
    },
    "timeoutInMins": <batch-timeout>,
    "batchReportMode": "REPORT_AGGREGATED_BATCH" | "REPORT_INDIVIDUAL_BUILDS"
  },
  "concurrentBuildLimit": <concurrent-build-limit>
}
```

Sostituisci quanto segue:

#### **name**
<a name="cli.project-name"></a>

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

#### **description**
<a name="cli.description"></a>

Facoltativo. La descrizione di questo progetto di compilazione.

#### **source (origine)**
<a name="cli.source"></a>

Obbligatorio. Un [ProjectSource](https://docs.aws.amazon.com/codebuild/latest/APIReference/API_ProjectSource.html)oggetto 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**](#cli.secondarysources). Queste impostazioni includono quanto segue:

**fonte/ tipo**  <a name="cli.source.type"></a>
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. Al contrario, devi utilizzare l'attributo `buildspec` per specificare una stringa in formato YAML per la tua specifica di compilazione. Per ulteriori informazioni, consulta [Crea un progetto di compilazione senza una fonte](no-source.md).

**fonte/ ubicazione**  <a name="cli.source.location"></a>
Obbligatorio a meno che tu non lo *<source-type>* imposti. `CODEPIPELINE` La posizione del codice sorgente per il tipo di repository specificato.  
+ Per CodeCommit, l'URL del clone HTTPS 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 file ZIP che contiene il codice sorgente e la buildspec. Per esempio:
  + Per un file ZIP situato nella radice del bucket di input:. `<bucket-name>/<object-name>.zip`
  + Per un file ZIP che si trova in una sottocartella del bucket di input:. `<bucket-name>/<subfoler-path>/<object-name>.zip`
+ Per GitHub, l'URL del clone HTTPS del repository che contiene il codice sorgente e il file buildspec. L'URL deve contenere github.com. Devi connettere il tuo account al tuo account. AWS 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, l'URL clone HTTP o HTTPS del 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.

  1. 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](https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line/) di GitHub Help. 

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

  1. 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.
+  GitLab Gestito automaticamente, l'URL clone HTTPS del repository che contiene il codice sorgente e il file buildspec. GitLab Tieni presente che, se lo utilizzi GitLab, l'URL deve contenere gitlab.com. Se utilizzi la GitLab gestione automatica, non è necessario che l'URL contenga gitlab.com. Devi collegare il tuo account al tuo account o al tuo AWS GitLab account autogestito. GitLab Per fare ciò, utilizzare la console CodeBuild per creare un progetto di compilazione.
  + Nel riquadro di navigazione Strumenti per sviluppatori, scegli **Impostazioni**, **Connessioni** e quindi **Crea connessione.** In questa pagina, crea una connessione GitLab o una connessione GitLab gestita automaticamente, quindi scegli **Connetti a GitLab**.
+ Per Bitbucket, l'URL clone HTTPS del repository che contiene il codice sorgente e il file buildspec. L'URL deve contenere 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 per`source`. CodePipeline ignora questo valore perché quando create una pipeline in CodePipeline, specificate la posizione del codice sorgente nella fase Source della pipeline.

fonte/ **gitCloneDepth**  <a name="cli.source.gitclonedepth"></a>
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**  <a name="cli.source.buildspec"></a>
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 Specificare il file buildspec utilizzando il relativo ARN (ad esempio, `arn:aws:s3:::<my-codebuild-sample2>/buildspec.yml`). Per ulteriori informazioni, consulta [Nome del file buildspec e posizione di storage](build-spec-ref.md#build-spec-ref-name-storage).

**fonte/ autenticazione**  <a name="cli.source.auth"></a>
Contiene informazioni sulle impostazioni di autorizzazione per l'accesso CodeBuild al codice sorgente da compilare.

**source/auth/ type**  <a name="cli.source.auth.type"></a>
Obbligatorio. Il tipo di autorizzazione da utilizzare. I valori validi sono:  
+ `OAUTH`
+ `CODECONNECTIONS`
+ `SECRETS_MANAGER`

**source/auth/ risorsa**  <a name="cli.source.auth.resource"></a>
Facoltativo. Il valore della risorsa che si applica al tipo di autorizzazione specificato. Può essere l'ARN di Secrets Manager o l' CodeConnections ARN.

fonte/ **reportBuildStatus**  <a name="cli.source.reportbuildstatus"></a>
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](access-tokens.md).

fonte/ **buildStatusConfig**  <a name="cli.source.buildstatusconfig"></a>
Contiene informazioni che definiscono il modo in cui il progetto di CodeBuild compilazione riporta lo stato della build al fornitore di origine. Questa opzione viene utilizzata solo quando il tipo di origine è `GITHUB``GITHUB_ENTERPRISE`, o`BITBUCKET`.    
**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 \$124 innescato da un evento di pull request del webhook:  

```
AWS CodeBuild sample-project Build #24 - pr/8
```  
**source//targetUrl buildStatusConfig**  
Per le sorgenti Bitbucket, questo parametro viene utilizzato per il parametro nello stato del `url` 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 verrà collegato a questo URL.  
Puoi anche includere variabili di CodeBuild ambiente `targetUrl` per aggiungere ulteriori informazioni all'URL. Ad esempio, per aggiungere l'area di compilazione all'URL, imposta `targetUrl` su:  

```
"targetUrl": "https://aws.amazon.com/codebuild/<path to build>?region=$AWS_REGION"
```
Se l'area di compilazione è`us-east-2`, questa si espanderà a:   

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

fonte/ **gitSubmodulesConfig**  <a name="cli.source.gitsubmodulesconfig"></a>
Facoltativo. Informazioni sulla configurazione dei moduli secondari Git. Utilizzato solo con CodeCommit GitHub, GitHub Enterprise Server e Bitbucket.     
**source//gitSubmodulesConfigFetchSubModules**  
Impostare `fetchSubmodules` su `true` se desideri includere i moduli secondari Git nel repository. I moduli secondari Git inclusi devono essere configurati come HTTPS.

fonte/ **InsecureSsl**  <a name="cli.source.insecuressl"></a>
Facoltativo. Utilizzato solo con GitHub Enterprise Server. Impostate questo valore su per `true` ignorare gli avvisi TLS 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.

**source/** sourceIdentifier  <a name="cli.source.sourceidentifier"></a>
Un identificatore definito dall'utente per l'origine del progetto. Facoltativo per la fonte principale. Obbligatorio per le fonti secondarie.

#### **SecondarySources**
<a name="cli.secondarysources"></a>

Facoltativo. Una serie di [ProjectSource](https://docs.aws.amazon.com/codebuild/latest/APIReference/API_ProjectSource.html)oggetti che contengono informazioni sulle fonti secondarie per un progetto di compilazione. Puoi aggiungere fino a 12 fonti secondarie. Gli `secondarySources` oggetti utilizzano le stesse proprietà utilizzate dall'[**source (origine)**](#cli.source)oggetto. In un oggetto di origine secondario, `sourceIdentifier` è obbligatorio.

#### **secondarySourceVersions**
<a name="cli.secondarysourceversions"></a>

Facoltativo. Un array di oggetti [ProjectSourceVersion](https://docs.aws.amazon.com/codebuild/latest/APIReference/API_ProjectSourceVersion.html). Se `secondarySourceVersions` vengono specificate a livello di compilazione, hanno la precedenza su questo. 

#### **SourceVersion**
<a name="cli.sourceversion"></a>

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 un nome ramo è specificato, viene utilizzato l'ID commit HEAD del ramo. Se non è specificato, viene utilizzato l'ID commit HEAD del ramo predefinito. 
+ Ad esempio GitLab, l'ID di commit, l'ID della pull request, 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](sample-source-version.md).
+ 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 un nome ramo è specificato, viene utilizzato l'ID commit HEAD del ramo. Se non è specificato, viene utilizzato l'ID commit HEAD del ramo predefinito. 
+ Per Amazon S3, l'ID versione dell'oggetto che rappresenta il file ZIP di input della compilazione 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](sample-source-version.md). 

#### **artefatti**
<a name="cli.artifacts"></a>

Obbligatorio. Un [ProjectArtifacts](https://docs.aws.amazon.com/codebuild/latest/APIReference/API_ProjectArtifacts.html)oggetto 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](#cli.secondaryartifacts). Queste impostazioni includono quanto segue: 

**artefatti/ tipo**  <a name="cli.artifacts.type"></a>
Obbligatorio. Tipo di artefatto di output della build. I valori validi sono:   
+ `CODEPIPELINE`
+ `NO_ARTIFACTS`
+ `S3`

**artefatti/ ubicazione**  <a name="cli.artifacts.location"></a>
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**  <a name="cli.artifacts.path"></a>
Utilizzato solo con il tipo di artefatto. `S3` Non utilizzato per altri tipi di artefatti.  
Il percorso nel bucket di output in cui inserire il file o la cartella ZIP. Se non specificate un valore per`path`, CodeBuild utilizza `namespaceType` (se specificato) e per `name` determinare il percorso e il nome del file ZIP o della cartella di output della build. Ad esempio, se si specifica `MyPath` for `path` e `MyArtifact.zip` for`name`, il percorso e il nome sarebbero`MyPath/MyArtifact.zip`. 

**artefatti/ NamespaceType**  <a name="cli.artifacts.namespacetype"></a>
Utilizzato solo con il tipo di artefatto. `S3` Non utilizzato per altri tipi di artefatti.  
Lo spazio dei nomi del file o della cartella ZIP di output della build. I valori validi includono `BUILD_ID` e `NONE`. Utilizzare `BUILD_ID` per inserire l'ID di compilazione nel percorso del file o della cartella ZIP di output di compilazione. In caso contrario, utilizzare `NONE`. Se non si specifica un valore per`namespaceType`, CodeBuild utilizza `path` (se specificato) e per `name` determinare il percorso e il nome del file ZIP o della cartella ZIP di output della build. Ad esempio, se si specifica `MyPath` for `path``namespaceType`, `BUILD_ID` for e `MyArtifact.zip` for`name`, il percorso e il nome sarebbero`MyPath/build-ID/MyArtifact.zip`. 

artifacts/**name**  <a name="cli.artifacts.name"></a>
Utilizzato solo con il tipo di `S3` artefatto. Non utilizzato per altri tipi di artefatti.  
Il nome del file ZIP o della cartella di output della build all'interno di. `location` Ad esempio, se si specifica `MyPath` for `path` e `MyArtifact.zip` for`name`, il percorso e il nome sarebbero`MyPath/MyArtifact.zip`. 

artefatti/ **overrideArtifactName**  <a name="cli.artifacts.overrideartifactname"></a>
Utilizzato solo con il tipo di artefatto S3. Non utilizzato per altri tipi di artefatti.  
Facoltativo. Se impostato su`true`, il nome specificato nel `artifacts` blocco del file buildspec ha la precedenza. `name` Per ulteriori informazioni, consulta [Riferimento alle specifiche di costruzione per CodeBuild](build-spec-ref.md). 

**artefatti/ imballaggio**  <a name="cli.artifacts.packaging"></a>
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 file ZIP che contenga gli artefatti della build.

#### secondaryArtifacts
<a name="cli.secondaryartifacts"></a>

Facoltativo. Una serie di [ProjectArtifacts](https://docs.aws.amazon.com/codebuild/latest/APIReference/API_ProjectArtifacts.html)oggetti 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**](#cli.artifacts). 

#### cache
<a name="cli.cache"></a>

Obbligatorio. Un [ProjectCache](https://docs.aws.amazon.com/codebuild/latest/APIReference/API_ProjectCache.html)oggetto che contiene informazioni sulle impostazioni della cache di questo progetto di build. Per ulteriori informazioni, consulta [Compilazioni di cache](build-caching.md). 

#### ambiente
<a name="cli.environment"></a>

Obbligatorio. Un [ProjectEnvironment](https://docs.aws.amazon.com/codebuild/latest/APIReference/API_ProjectEnvironment.html)oggetto che contiene informazioni sulle impostazioni dell'ambiente di compilazione di questo progetto. Queste impostazioni includono:

**ambiente/ tipo**  <a name="cli.environment.type"></a>
Obbligatorio. Il tipo di ambiente di compilazione. Per ulteriori informazioni, consulta [type](https://docs.aws.amazon.com/codebuild/latest/APIReference/API_ProjectEnvironment.html#CodeBuild-Type-ProjectEnvironment-type) nel *CodeBuild API Reference.*

**ambiente/ immagine**  <a name="cli.environment.image"></a>
Obbligatorio. L'identificatore dell'immagine Docker utilizzato da questo ambiente di compilazione. In genere, questo identificatore è espresso come*image-name*:. *tag* Per 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 Amazon ECR,`account-id.dkr.ecr.region-id.amazonaws.com/your-Amazon-ECR-repo-name:tag`. Per ulteriori informazioni, consulta [Immagini Docker fornite da CodeBuild](build-env-ref-available.md). 

**ambiente/ ComputeType**  <a name="cli.environment.computetype"></a>
Obbligatorio. Specifica le risorse di calcolo utilizzate da questo ambiente di compilazione. *Per ulteriori informazioni, consulta [ComputeType](https://docs.aws.amazon.com/codebuild/latest/APIReference/API_ProjectEnvironment.html#CodeBuild-Type-ProjectEnvironment-computeType) nell'CodeBuild API Reference.*

**ambiente/ certificato**  <a name="cli.environment.certificate"></a>
Facoltativo. L'ARN del 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 con codifica PEM. Ad esempio, se il nome del bucket Amazon S3 è`<my-bucket>`, il prefisso del percorso è `<cert>` e il nome della chiave dell'oggetto è`<certificate.pem>`, i formati accettabili per sono o. `certificate` `<my-bucket/cert/certificate.pem>` `arn:aws:s3:::<my-bucket/cert/certificate.pem>`

**Variabili di ambiente/ambiente**  <a name="cli.environment.environmentvariables"></a>
Facoltativo. Una matrice di [EnvironmentVariable](https://docs.aws.amazon.com/codebuild/latest/APIReference/API_EnvironmentVariable.html)oggetti che contiene le variabili di ambiente che desideri specificare per questo ambiente di compilazione. Ogni variabile di ambiente è espressa come un oggetto che contiene un `name``value`, e `type` of `name``value`, e`type`.   
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` su`PLAINTEXT`.  
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 Gestione dei segreti AWS. Infatti`name`, per quel parametro memorizzato, imposta un identificatore CodeBuild a cui fare riferimento.   
Se utilizzi Amazon EC2 Systems Manager Parameter Store, per`value`, 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` su`LOGIN_PASSWORD`. Imposta `value` su `/CodeBuild/dockerLoginPassword`. Imposta `type` su `PARAMETER_STORE`.   
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 la **chiave KMS**, puoi specificare l'ARN di AWS KMS una 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](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-paramstore.html) e Systems Manager Parameter Store nella Guida](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-paramstore-walk.html#sysman-paramstore-console) 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:GetParameters`azione. 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, for`value`, 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` su`LOGIN_PASSWORD`. Imposta `value` su `/CodeBuild/dockerLoginPassword`. Imposta `type` su `SECRETS_MANAGER`.  
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'è Gestione dei segreti AWS?](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html) nella *Guida per l'utente di Gestione dei segreti AWS *.   
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:GetSecretValue`azione. 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**  <a name="cli.environment.registrycredential"></a>
Facoltativo. Un [RegistryCredential](https://docs.aws.amazon.com/codebuild/latest/APIReference/API_RegistryCredential.html)oggetto che specifica le credenziali che forniscono l'accesso a un registro Docker privato.     
**Environment/registryCredential/** credential  
Speciifica l'ARN o il nome delle credenziali create utilizzando. AWS Managed Services Puoi utilizzare il nome delle credenziali solo se sono presenti nella regione corrente.  
**Environment/registryCredential/** CredentialProvider  
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'immagine Amazon ECR.

**ambiente/ Tipo imagePullCredentials**  <a name="cli.environment.imagepullcredentialstype"></a>
Facoltativo. Il tipo di credenziali CodeBuild utilizzate per estrarre le immagini nella build. Esistono due valori validi:    
CODEBUILD  
`CODEBUILD`specifica che CodeBuild utilizza le proprie credenziali. È necessario modificare la policy del repository Amazon ECR per considerare affidabile il responsabile del CodeBuild servizio.   
SERVICE\$1ROLE  
Specifica che CodeBuild utilizza il ruolo di servizio del progetto di compilazione. 
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**  <a name="cli.environment.privilegedmode"></a>
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 è stata specificata un'immagine dell'ambiente di compilazione fornita da CodeBuild con supporto Docker.  
Per impostazione predefinita, il daemon Docker è abilitato per le build non VPC. Se desideri utilizzare i contenitori Docker per le build VPC, [consulta Runtime Privilege e Linux Capabilities sul sito Web di Docker Docs e](https://docs.docker.com/engine/reference/run/#runtime-privilege-and-linux-capabilities) 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
<a name="cli.servicerole"></a>

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

#### autoRetryLimit
<a name="cli.autoretrylimit"></a>

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à l'`RetryBuild`API per riprovare automaticamente la build per un massimo di 2 volte aggiuntive.

#### timeoutInMinutes
<a name="cli.timeoutinminutes"></a>

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
<a name="cli.queuedtimeoutinminutes"></a>

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
<a name="cli.encryptionkey"></a>

Facoltativo. L'alias o l'ARN utilizzato CodeBuild da per crittografare AWS KMS key 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 chiave KMS AWS gestita per Amazon S3.

#### tags
<a name="cli.tags"></a>

Facoltativo. Una serie di oggetti [Tag](https://docs.aws.amazon.com/codebuild/latest/APIReference/API_Tag.html) 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 a`value`.

#### vpcConfig
<a name="cli.vpcconfig"></a>

Facoltativo. Un [VpcConfig](https://docs.aws.amazon.com/codebuild/latest/APIReference/API_VpcConfig.html)oggetto che contiene informazioni sulla configurazione VPC per il tuo progetto. Per ulteriori informazioni, consulta [Utilizzo AWS CodeBuild con Amazon Virtual Private Cloud](vpc-support.md).

Queste proprietà includono: 

vpcId  
Obbligatorio. L'ID VPC che CodeBuild utilizza. Esegui questo comando per ottenere un elenco di tutti i VPC IDs 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 questi IDs:  

```
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 nel VPC. Esegui questo comando per ottenere questi IDs:  

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

#### badgeEnabled
<a name="cli.badgeenabled"></a>

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](sample-build-badges.md).

#### LogsConfig
<a name="cli.logsconfig"></a>

Un [LogsConfig](https://docs.aws.amazon.com/codebuild/latest/APIReference/API_LogsConfig.html)oggetto che contiene informazioni su dove si trovano i log di questa build.

LogsConfig/ **cloudWatchLogs**  <a name="cli.logsconfig.cloudwatchlogs"></a>
Un [CloudWatchLogsConfig](https://docs.aws.amazon.com/codebuild/latest/APIReference/API_CloudWatchLogsConfig.html)oggetto che contiene informazioni sull'invio di log a Logs. CloudWatch 

**LogsConfig/** s3Logs  <a name="cli.logsconfig.s3logs"></a>
Un LogsConfig oggetto [S3](https://docs.aws.amazon.com/codebuild/latest/APIReference/API_S3LogsConfig.html) che contiene informazioni sull'invio di log ad Amazon S3.

#### fileSystemLocations
<a name="cli.filesystemlocations"></a>

Facoltativo. Una serie di [ProjectFileSystemsLocation](https://docs.aws.amazon.com/codebuild/latest/APIReference/API_ProjectFileSystemLocation.html)oggetti che contiene informazioni sulla configurazione di Amazon EFS. 

#### buildBatchConfig
<a name="cli.buildbatchconfig"></a>

Facoltativo. L'`buildBatchConfig`oggetto è una [ProjectBuildBatchConfig](https://docs.aws.amazon.com/codebuild/latest/APIReference/API_ProjectBuildBatchConfig.html)struttura che contiene le informazioni di configurazione della build in batch per il progetto.

buildBatchConfig/**Servicerole**  
L'ARN del ruolo di servizio per il progetto di creazione in batch.

buildBatchConfig**/CombineArtifacts**  
Un valore booleano che specifica se combinare gli elementi di compilazione per la creazione in batch in un'unica posizione degli artefatti.

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](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html) per questi valori. 

buildBatchConfig**/restrictions/ FleetsAllowed**  
Un array di stringhe che specificano le flotte consentite per la compilazione in batch. Per ulteriori informazioni, consulta [Esegui build su flotte a capacità riservata](https://docs.aws.amazon.com/codebuild/latest/userguide/fleets.html). 

buildBatchConfig/**timeoutInMinutes**  
Il tempo massimo, in minuti, entro il quale la creazione 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
<a name="cli.concurrentbuildlimit"></a>

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
<a name="cp-cli-create-project"></a>

Per creare il progetto, esegui nuovamente il **[https://docs.aws.amazon.com/cli/latest/reference/codebuild/create-project.html](https://docs.aws.amazon.com/cli/latest/reference/codebuild/create-project.html)** comando, passando il file JSON:

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

In caso di successo, la rappresentazione JSON di un oggetto [Project](https://docs.aws.amazon.com/codebuild/latest/APIReference/API_Project.html) viene visualizzata nell'output della console. Vedi la [sintassi di CreateProject risposta](https://docs.aws.amazon.com/codebuild/latest/APIReference/API_CreateProject.html#API_CreateProject_ResponseSyntax) 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)](change-project.md#change-project-cli).

Per avviare l'esecuzione di una compilazione, consulta [Esecuzione di una compilazione (AWS CLI)](run-build-cli.md).

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)](run-build-cli-auto-start.md)

## Creazione di un progetto di compilazione (AWS SDKs)
<a name="create-project-sdks"></a>

Per informazioni sull'utilizzo AWS CodeBuild con, consulta la AWS SDKs. [AWS SDKs e riferimento agli strumenti](sdk-ref.md)

## Creazione di un progetto di compilazione (CloudFormation)
<a name="create-project-cloud-formation"></a>

Per informazioni sull'utilizzo AWS CodeBuild con CloudFormation, consultate [il CloudFormation modello disponibile CodeBuild nella Guida per](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-project.html) *l'AWS CloudFormation utente*.