

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à.

# Esegui AWS CodeBuild le build manualmente
<a name="run-build"></a>

Puoi usare la AWS CodeBuild console o AWS SDKs eseguire una build in CodeBuild. AWS CLI

**Topics**
+ [

# Esegui le build localmente con l'agente AWS CodeBuild
](use-codebuild-agent.md)
+ [

# Esecuzione di una compilazione (console)
](run-build-console.md)
+ [

# Esecuzione di una compilazione (AWS CLI)
](run-build-cli.md)
+ [

# Esegui una build in batch (AWS CLI)
](run-batch-build-cli.md)
+ [

# Avvio di esecuzioni di compilazione automaticamente (AWS CLI)
](run-build-cli-auto-start.md)
+ [

# Interruzione di esecuzioni di compilazioni automaticamente (AWS CLI)
](run-build-cli-auto-stop.md)
+ [

# Esecuzione di una compilazione (AWS SDKs)
](run-build-sdks.md)

# Esegui le build localmente con l'agente AWS CodeBuild
<a name="use-codebuild-agent"></a>

È possibile utilizzare l' AWS CodeBuild agente per eseguire CodeBuild build su un computer locale. Sono disponibili agenti per piattaforme x86\$164 e ARM.

È inoltre possibile abbonarsi per ricevere notifiche quando vengono pubblicate nuove versioni dell'agente. 

## Prerequisiti
<a name="use-codebuild-agent.prerequisites"></a>

Prima di iniziare, devi fare quanto segue:
+ Installa Git sul computer locale.
+ Installa e [configura Docker](https://www.docker.com/) sul tuo computer locale.

## Configura l'immagine di build
<a name="use-codebuild-agent.setup-image"></a>

È necessario configurare l'immagine di build solo la prima volta che si esegue l'agente o quando l'immagine è stata modificata.

**Per configurare l'immagine di compilazione**

1. [Se desideri utilizzare un'immagine Amazon Linux 2 curata, puoi recuperarla dal repository CodeBuild pubblico di Amazon ECR all'indirizzo https://gallery.ecr. aws/codebuild/amazonlinux-x86\$164-standard](https://gallery.ecr.aws/codebuild/amazonlinux-x86_64-standard) con il seguente comando:

   ```
   $ docker pull public.ecr.aws/codebuild/amazonlinux-x86_64-standard:4.0
   ```

   In alternativa, se desideri utilizzare un'altra immagine Linux, procedi nel seguente modo:

   1. Clona il repository di CodeBuild immagini:

      ```
      $ git clone https://github.com/aws/aws-codebuild-docker-images.git
      ```

   1. Passa alla cartella delle immagini. Per questo esempio, usa l'`aws/codebuild/standard:5.0`immagine:

      ```
      $ cd aws-codebuild-docker-images/ubuntu/standard/5.0
      ```

   1. Costruisci l'immagine. Questo processo può richiedere diversi minuti. 

      ```
      $ docker build -t aws/codebuild/standard:5.0 .
      ```

1. Scarica l' CodeBuild agente.

   Per scaricare la versione x86\$164 dell'agente, esegui il seguente comando:

   ```
   $ docker pull public.ecr.aws/codebuild/local-builds:latest
   ```

   Per scaricare la versione ARM dell'agente, esegui il seguente comando:

   ```
   $ docker pull public.ecr.aws/codebuild/local-builds:aarch64
   ```

1. <a name="codebuild-agent-sha"></a>L' CodeBuild agente è disponibile all'[indirizzo https://gallery.ecr. aws/codebuild/local-costruisce](https://gallery.ecr.aws/codebuild/local-builds). 

   La firma Secure Hash Algorithm (SHA) per la versione x86\$164 dell'agente è:

   ```
   sha256:ccb19bdd7af94e4dc761e4c58c267e9455c28ec68d938086b4dc1cf8fe6b0940
   ```

   La firma SHA per la versione ARM dell'agente è:

   ```
   sha256:7d7b5d35d2ac4e062ae7ba8c662ffed15229a52d09bd0d664a7816c439679192
   ```

   È possibile utilizzare lo SHA per identificare la versione dell'agente. Per visualizzare la firma SHA dell'agente, esegui il comando seguente e cerca lo SHA in: `RepoDigests` 

   ```
   $ docker inspect public.ecr.aws/codebuild/local-builds:latest
   ```

## Esegui l'agente CodeBuild
<a name="use-codebuild-agent.run-agent"></a>

**Per gestire l' CodeBuild agente**

1. Passa alla directory che contiene i sorgenti del progetto di compilazione.

1. Scarica lo script [codebuild\$1build.sh](https://github.com/aws/aws-codebuild-docker-images/blob/master/local_builds/codebuild_build.sh):

   ```
   $ curl -O  https://raw.githubusercontent.com/aws/aws-codebuild-docker-images/master/local_builds/codebuild_build.sh
   $ chmod +x codebuild_build.sh
   ```

1. Esegui lo `codebuild_build.sh` script e specifica l'immagine del contenitore e la directory di output.

   Per eseguire una build x86\$164, esegui il seguente comando:

   ```
   $ ./codebuild_build.sh -i <container-image> -a <output directory>
   ```

   Per eseguire una build ARM, esegui il seguente comando:

   ```
   $ ./codebuild_build.sh -i <container-image> -a <output directory> -l public.ecr.aws/codebuild/local-builds:aarch64
   ```

   Sostituisci *<container-image>* con il nome dell'immagine del contenitore, ad esempio `aws/codebuild/standard:5.0` o`public.ecr.aws/codebuild/amazonlinux-x86_64-standard:4.0`.

   Lo script avvia l'immagine di compilazione ed esegue la build sul progetto nella directory corrente. Per specificare la posizione del progetto di compilazione, aggiungete l'`-s <build project directory>`opzione al comando script.

## Ricevi notifiche per le nuove versioni degli CodeBuild agenti
<a name="receive-codebuild-agent-notifications"></a>

Puoi abbonarti alle notifiche di Amazon SNS in modo da ricevere una notifica quando vengono rilasciate nuove versioni dell' AWS CodeBuild agente. 

**Per sottoscrivere le notifiche degli CodeBuild agenti**

1. [Apri la console Amazon SNS nella versione v3/home. https://console.aws.amazon.com/sns/](https://console.aws.amazon.com/sns/v3/home) 

1. Nella barra di navigazione, se non è già selezionata, modifica la AWS regione in **Stati Uniti orientali (Virginia settentrionale**). Devi selezionare questa AWS regione perché le notifiche Amazon SNS a cui ti stai abbonando vengono create in questa regione. 

1. Nel riquadro di navigazione, seleziona **Sottoscrizioni**. 

1. Scegli **Create Subscription (Crea sottoscrizione)**. 

1. In **Crea abbonamento, procedi** come segue: 

   1. Per **ARN dell'argomento**, utilizza il seguente Amazon Resource Name (ARN): 

      ```
      arn:aws:sns:us-east-1:850632864840:AWS-CodeBuild-Local-Agent-Updates
      ```

   1. Per **Protocollo**, seleziona **-mail)** o **SMS**. 

   1. Per **Endpoint**, scegli come ricevere le notifiche (e-mail o SMS). Inserisci un indirizzo e-mail o un numero di telefono, incluso il prefisso. 

   1. Scegli **Create Subscription** (Crea sottoscrizione). 

   1. Scegli **Email** per ricevere un'email che ti chiede di confermare l'iscrizione. Segui le istruzioni nell'e-mail per completare l'iscrizione. 

      Se non desideri più ricevere queste notifiche, segui la procedura seguente per annullare la sottoscrizione. 

**Per annullare l'iscrizione alle notifiche degli CodeBuild agenti**

1. [Apri la console Amazon SNS nella versione v3/home. https://console.aws.amazon.com/sns/](https://console.aws.amazon.com/sns/v3/home) 

1. Nel riquadro di navigazione, seleziona **Sottoscrizioni**. 

1. Seleziona la sottoscrizione e da **Actions (Operazioni)**, seleziona **Delete subscriptions (Elimina sottoscrizioni)**. Quando viene richiesto di confermare, selezionare **Delete (Elimina)**. 

# Esecuzione di una compilazione (console)
<a name="run-build-console"></a>

Per utilizzare AWS CodePipeline per eseguire una build con CodeBuild, salta questi passaggi e segui le istruzioni in[Usa CodeBuild con CodePipeline](how-to-create-pipeline.md).

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

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

1. Nell'elenco dei progetti di compilazione, scegli il progetto di compilazione.

1. Puoi eseguire la build con le impostazioni predefinite del progetto di compilazione o sostituire le impostazioni di compilazione solo per questa build.

   1. Se desideri eseguire la build con le impostazioni predefinite del progetto di compilazione, scegli **Avvia compilazione**. La compilazione viene avviata immediatamente.

   1. Se desideri sovrascrivere le impostazioni predefinite del progetto di compilazione, scegli **Avvia compilazione con sostituzioni**. Nella pagina **Inizia la compilazione**, puoi sovrascrivere quanto segue:
      + **Configurazione della build**
      + **Origine**
      + **Sostituzioni delle variabili di ambiente**

      **Se devi selezionare sostituzioni di build più avanzate, scegli Sostituzioni di build avanzate.** In questa pagina, puoi sovrascrivere quanto segue:
      + **Costruisci la configurazione**
      + **Origine**
      + **Ambiente**
      + **Specifiche di costruzione**
      + **Artefatti**
      + **Log**

      **Dopo aver effettuato le selezioni di override, scegli Avvia compilazione.**

Per le informazioni dettagliate su questa compilazione, consultare [Visualizzazione dei dettagli delle compilazioni (console)](view-build-details.md#view-build-details-console).

# Esecuzione di una compilazione (AWS CLI)
<a name="run-build-cli"></a>

**Nota**  
Per utilizzare CodePipeline per eseguire una build con AWS CodeBuild, salta questi passaggi e segui le istruzioni in[Crea una pipeline che utilizza CodeBuild ()AWS CLI](how-to-create-pipeline-cli.md).  
Per ulteriori informazioni sull'utilizzo di AWS CLI with CodeBuild, consulta[Guida di riferimento alla riga di comando](cmd-ref.md).

1. Eseguire il comando `start-build` in uno dei seguenti modi:

   ```
   aws codebuild start-build --project-name <project-name>
   ```

   Utilizzare questo comando se si desidera eseguire una compilazione che utilizza la versione più recente dell'artefatto di input di compilazione e le impostazioni correnti del progetto di compilazione.

   ```
   aws codebuild start-build --generate-cli-skeleton
   ```

   Utilizzare questo comando se si desidera eseguire una compilazione con una versione precedente dell'artefatto di input di compilazione o se si desidera ignorare le impostazioni per gli artefatti di output di compilazione, le variabili di ambiente, la buildspec il periodo di timeout di compilazione predefinito.

1. Se eseguite il **start-build** comando con l'`--project-name`opzione, sostituitelo *<project-name>* con il nome del progetto di compilazione, quindi passate al passaggio 6 di questa procedura. Per ottenere un elenco di progetti di compilazione, consulta [Visualizza i nomi dei progetti di compilazione](view-project-list.md).

1. Se esegui il **start-build** comando con l'`--idempotency-token`opzione, nella richiesta viene incluso un identificatore o token univoco con distinzione tra maiuscole e minuscole. `start-build` Il token è valido per 5 minuti dopo la richiesta . Se si ripete la `start-build` richiesta con lo stesso token, ma si modifica un parametro, viene CodeBuild restituito un errore di mancata corrispondenza del parametro.

1. Se si esegue il comando **start-build** con l'opzione `--generate-cli-skeleton`, i dati in formato JSON appaiono nell'output. Copia i dati in un file (ad esempio,`start-build.json`) in una posizione sul computer locale o sull'istanza in cui AWS CLI è installato. Modificare i dati copiati in modo che corrispondano a questo formato e salvare i risultati:

   ```
   {
     "projectName": "projectName",
     "sourceVersion": "sourceVersion",
     "artifactsOverride": {
       "type": "type",
       "location": "location",
       "path": "path",
       "namespaceType": "namespaceType",
       "name": "artifactsOverride-name",
       "packaging": "packaging"
     },
     "buildspecOverride": "buildspecOverride",
     "cacheOverride": {
       "location": "cacheOverride-location",
       "type": "cacheOverride-type"
     },
     "certificateOverride": "certificateOverride",
     "computeTypeOverride": "computeTypeOverride",
     "environmentTypeOverride": "environmentTypeOverride",
     "environmentVariablesOverride": {
       "name": "environmentVariablesOverride-name",
       "value": "environmentVariablesValue",
       "type": "environmentVariablesOverride-type"
     },
     "gitCloneDepthOverride": "gitCloneDepthOverride",
     "imageOverride": "imageOverride",
     "idempotencyToken": "idempotencyToken",
     "insecureSslOverride": "insecureSslOverride",
     "privilegedModeOverride": "privilegedModeOverride",
     "queuedTimeoutInMinutesOverride": "queuedTimeoutInMinutesOverride",
     "reportBuildStatusOverride": "reportBuildStatusOverride",
     "timeoutInMinutesOverride": "timeoutInMinutesOverride",
     "sourceAuthOverride": "sourceAuthOverride",
     "sourceLocationOverride": "sourceLocationOverride",
     "serviceRoleOverride": "serviceRoleOverride",
     "sourceTypeOverride": "sourceTypeOverride"
   }
   ```

   Sostituire i seguenti segnaposto:
   + *projectName*: stringa obbligatoria. Il nome del progetto di compilazione da utilizzare per questa compilazione. 
   + *sourceVersion*: stringa opzionale. Una versione del codice sorgente da creare, come segue:
     + Per Amazon S3, l'ID della versione che corrisponde alla versione del file ZIP di input che desideri creare. Se non *sourceVersion* è specificato, viene utilizzata la versione più recente.
     + Per CodeCommit, l'ID di commit che corrisponde alla versione del codice sorgente che desideri creare. Se non *sourceVersion* è specificato, viene utilizzato l'ID di commit HEAD del ramo predefinito. (Non è possibile specificare il nome del tag*sourceVersion*, ma è possibile specificare l'ID di commit del tag.)
     + Ad GitHub esempio, l'ID di commit, l'ID della pull request, 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 *sourceVersion* è specificato, viene utilizzato l'ID di commit HEAD del ramo predefinito. 
     + 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 *sourceVersion* è specificato, viene utilizzato l'ID di commit HEAD del ramo predefinito. 
   + I seguenti segnaposto sono per `artifactsOverride`.
     + *type*: facoltativo. Il tipo di artefatto di output di compilazione che, per questa compilazione, sostituisce quella definita nel progetto di compilazione.
     + *location*: facoltativo. La posizione dell'artefatto di output di compilazione che, per questa compilazione, sostituisce quella definita nel progetto di compilazione.
     + *path*: facoltativo. Il percorso di artefatto di output di compilazione che, per questa compilazione, sostituisce quella definita nel progetto di compilazione.
     + *namespaceType*: facoltativo. Il tipo di percorso di artefatto di output di compilazione che, per questa compilazione, sostituisce quella definita nel progetto di compilazione.
     + *name*: facoltativo. Il nome di artefatto di output di compilazione che, per questa compilazione, sostituisce quella definita nel progetto di compilazione.
     + *packaging*: facoltativo. Il tipo di pacchetto di artefatto di output di compilazione che, per questa compilazione, sostituisce quella definita nel progetto di compilazione.
   + *buildspecOverride*: facoltativo. Una dichiarazione di specifiche di compilazione che, per questa compilazione, sostituisce quella definita nel progetto di compilazione. Se questo valore è impostato, può essere una definizione buildspec inlinea oppure il percorso a un file buildspec alternativo, relativo al valore della variabile di ambiente `CODEBUILD_SRC_DIR` incorporata o al percorso di un bucket S3. Il bucket S3 deve trovarsi nella stessa regione AWS del progetto build. Specificare il file buildspec utilizzando il relativo ARN (ad esempio, `arn:aws:s3:::<my-codebuild-sample2>/buildspec.yml`). Se tale valore non è fornito o è impostato su una stringa vuota, il codice di origine deve contenere un file `buildspec.yml` nella directory radice. Per ulteriori informazioni, consulta [Nome del file buildspec e posizione di storage](build-spec-ref.md#build-spec-ref-name-storage).
   + I seguenti segnaposto sono per `cacheOverride`.
     + *cacheOverride-location*: facoltativo. Il percorso di un oggetto `ProjectCache` per questa compilazione che sostituisce l'oggetto `ProjectCache` specificato nel progetto di compilazione. `cacheOverride` è facoltativo e richiede un oggetto `ProjectCache`. `location` è obbligatorio in un oggetto `ProjectCache`.
     + *cacheOverride-type*: facoltativo. Il tipo di un oggetto `ProjectCache` per questa compilazione che sostituisce l'oggetto `ProjectCache` specificato nel progetto di compilazione. `cacheOverride` è facoltativo e richiede un oggetto `ProjectCache`. `type` è obbligatorio in un oggetto `ProjectCache`.
   + *certificateOverride*: facoltativo. Il nome di un certificato per questa compilazione che sostituisce quella definita nel progetto di compilazione.
   + *environmentTypeOverride*: facoltativo. Un tipo di container per questa compilazione che sostituisce quella definita nel progetto di compilazione. L'attuale stringa valida è `LINUX_CONTAINER`.
   + I seguenti segnaposto sono per `environmentVariablesOverride`.
     + *environmentVariablesOverride-name*: facoltativo. Il nome di una variabile di ambiente nel progetto di compilazione il quale valore si desidera ignorare per questa compilazione.
     + *environmentVariablesOverride-type*: facoltativo. Il tipo di variabile di ambiente nel progetto di compilazione il quale valore si desidera ignorare per questa compilazione.
     + *environmentVariablesValue*: facoltativo. Il valore della variabile di ambiente definita nel progetto di compilazione il quale valore si desidera ignorare per questa compilazione.
   + *gitCloneDepthOverride*: facoltativo. Il valore di **Git clone depth** nel progetto di compilazione il quale valore si desidera ignorare per questa compilazione. Se il tipo di origine è Amazon S3, questo valore non è supportato.
   + *imageOverride*: facoltativo. Il nome di un immagine per questa compilazione che sostituisce quella definita nel progetto di compilazione.
   + *idempotencyToken*: facoltativo. Una stringa che serve come token per specificare che la richiesta di compilazione è idempotente. È possibile scegliere qualsiasi stringa con 64 caratteri o meno. Il token è valido per 5 minuti dopo la richiesta di start-build. Se ripeti la richiesta di start-build con lo stesso token, ma modifichi un parametro, CodeBuild restituisce un errore di mancata corrispondenza del parametro. 
   + *insecureSslOverride*: valore booleano facoltativo che specifica se sovrascrivere l'impostazione TLS non sicura specificata nel progetto di compilazione. L'impostazione TLS non sicura determina se ignorare gli avvisi TLS durante la connessione al codice sorgente del progetto. Questo override si applica solo se l'origine della build è Enterprise Server. GitHub 
   + *privilegedModeOverride*: valore booleano facoltativo. Se impostato su true, la compilazione sostituisce la modalità privilegiata nel progetto di compilazione.
   +  *queuedTimeoutInMinutesOverride*: numero intero opzionale che specifica il numero di minuti in cui una build può essere messa in coda prima del timeout. Il valore minimo è cinque minuti e il valore massimo è 480 minuti (8 ore). 
   + *reportBuildStatusOverride*: Valore booleano facoltativo che specifica se inviare al provider di origine lo stato di inizio e completamento di una build. Se lo imposti con un provider di origine diverso GitHub da GitHub Enterprise Server o Bitbucket, viene generato un. invalidInputException 
   + *sourceAuthOverride*: stringa opzionale. Un tipo di autorizzazione per questa compilazione che sostituisce quella definita nel progetto di compilazione. Questo override si applica solo se l'origine del progetto di compilazione è Bitbucket o. GitHub
   + *sourceLocationOverride*: stringa opzionale. Il percorso che, per questa compilazione, sostituisce il percorso di origine definito nel progetto di compilazione.
   + *serviceRoleOverride*: stringa opzionale. Il nome di un ruolo del servizio per questa compilazione che sostituisce quella definita nel progetto di compilazione.
   + *sourceTypeOverride*: stringa opzionale. Un tipo di input di origine per questa compilazione che sostituisce l'input di origine definito nel progetto di compilazione. Le stringhe valide sono `NO_SOURCE`, `CODECOMMIT`, `CODEPIPELINE`, `GITHUB`, `S3`, `BITBUCKET` e `GITHUB_ENTERPRISE`.
   + *timeoutInMinutesOverride*: numero opzionale. Il numero di minuti di timeout di compilazione che, per questa compilazione, sostituisce quella definita nel progetto di compilazione. 

   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. CodeBuild può utilizzare un parametro memorizzato in Amazon EC2 Systems Manager Parameter Store solo se il nome di quel parametro inizia 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)** e seguire le istruzioni. (In quella finestra di dialogo, per la **chiave KMS**, puoi facoltativamente specificare l'ARN di una AWS KMS chiave nel tuo account. Amazon EC2 Systems Manager utilizza questa chiave per crittografare il valore del parametro durante l'archiviazione e decrittografarlo durante il recupero.) Se usi la CodeBuild console per creare un parametro, la console avvia il parametro con il `/CodeBuild/` momento in cui viene memorizzato. Tuttavia, se utilizzi la console Amazon EC2 Systems Manager Parameter Store per creare un parametro, devi iniziare il nome del parametro con `/CodeBuild/` e devi impostare **Type** su **Secure String**. Per ulteriori informazioni, consulta [AWS Systems Manager Parameter Store](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-parameter-store.html) and [Walkthrough: Create and test a String parameter (console)](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-paramstore-console.html) nella *Amazon EC2 Systems Manager User* Guide.

   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 **Crea un nuovo ruolo di servizio nel tuo account**, CodeBuild include automaticamente questa azione nel ruolo di servizio predefinito per il tuo progetto di build. Tuttavia, se era stata scelta l'opzione **Choose an existing service role from your account (Scegli un ruolo del servizio esistente dal tuo account)**, è necessario includere questa operazione al ruolo del servizio separatamente.

   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 della variabile di ambiente 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à.

   Per informazioni sui valori validi per questi segnaposto, consultare [Creazione di un progetto di compilazione (AWS CLI)](create-project.md#create-project-cli). Per un elenco delle impostazioni più recenti per un progetto di compilazione, consultare [Visualizza i dettagli del progetto di costruzione](view-project-details.md).

1. Passare alla directory contenente il file appena salvato ed eseguire nuovamente il comando `start-build`.

   ```
   aws codebuild start-build --cli-input-json file://start-build.json
   ```

1. In caso di esito positivo, nell'output vengono visualizzati dati simili a quelli descritti nella procedura [Per eseguire la build](getting-started-overview.md#getting-started-run-build-cli).

Per utilizzare le informazioni dettagliate su questa compilazione, annotare il valore `id` nell'output e consultare [Visualizzazione dei dettagli delle compilazioni (AWS CLI)](view-build-details.md#view-build-details-cli).

# Esegui una build in batch (AWS CLI)
<a name="run-batch-build-cli"></a>

1. Eseguire il comando `start-build-batch` in uno dei seguenti modi:

   ```
   aws codebuild start-build-batch --project-name <project-name>
   ```

   Utilizzare questo comando se si desidera eseguire una compilazione che utilizza la versione più recente dell'artefatto di input di compilazione e le impostazioni correnti del progetto di compilazione.

   ```
   aws codebuild start-build-batch --generate-cli-skeleton > <json-file>
   ```

   Utilizzare questo comando se si desidera eseguire una compilazione con una versione precedente dell'artefatto di input di compilazione o se si desidera ignorare le impostazioni per gli artefatti di output di compilazione, le variabili di ambiente, la buildspec il periodo di timeout di compilazione predefinito.

1. Se eseguite il **start-build-batch** comando con l'`--project-name`opzione, sostituitelo *<project-name>* con il nome del progetto di compilazione, quindi passate al passaggio 6 di questa procedura. Per ottenere un elenco di progetti di compilazione, consulta [Visualizza i nomi dei progetti di compilazione](view-project-list.md).

1. Se esegui il **start-build-batch** comando con l'`--idempotency-token`opzione, nella richiesta viene incluso un identificatore o token univoco con distinzione tra maiuscole e minuscole. `start-build-batch` Il token è valido per 5 minuti dopo la richiesta . Se si ripete la `start-build-batch` richiesta con lo stesso token, ma si modifica un parametro, viene CodeBuild restituito un errore di mancata corrispondenza del parametro.

1. Se si esegue il **start-build-batch** comando con l'`--generate-cli-skeleton`opzione, i dati in formato JSON vengono emessi nel file. *<json-file>* Questo file è simile allo skelton prodotto dal **start-build** comando, con l'aggiunta del seguente oggetto. Per ulteriori informazioni sugli oggetti comuni, vedere. [Esecuzione di una compilazione (AWS CLI)](run-build-cli.md)

   Modifica questo file per aggiungere eventuali sostituzioni di build e salva i risultati.

   ```
     "buildBatchConfigOverride": {
       "combineArtifacts": combineArtifacts,
       "restrictions": {
         "computeTypesAllowed": [
           allowedComputeTypes
         ],
         "maximumBuildsAllowed": maximumBuildsAllowed
       },
       "serviceRole": "batchServiceRole",
       "timeoutInMins": batchTimeout
     }
   ```

   L'`buildBatchConfigOverride`oggetto è una [ProjectBuildBatchConfig](https://docs.aws.amazon.com/codebuild/latest/APIReference/API_ProjectBuildBatchConfig.html)struttura che contiene le modifiche di configurazione della build in batch per questa build.  
*combineArtifacts*  
Un valore booleano che specifica se gli elementi di compilazione per la compilazione in batch devono essere combinati in un'unica posizione degli artefatti.  
*allowedComputeTypes*  
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](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html).   
*maximumBuildsAllowed*  
Specifica il numero massimo di compilazioni consentite.  
*batchServiceRole*  
Specifica l'ARN del ruolo di servizio per il progetto di compilazione batch.  
*batchTimeout*  
Specifica la quantità massima di tempo, espressa in minuti, in cui deve essere completata la compilazione batch.

1. Passare alla directory contenente il file appena salvato ed eseguire nuovamente il comando `start-build-batch`.

   ```
   aws codebuild start-build-batch --cli-input-json file://start-build.json
   ```

1. In caso di successo, la rappresentazione JSON di un [BuildBatch](https://docs.aws.amazon.com/codebuild/latest/APIReference/API_BuildBatch.html)oggetto viene visualizzata nell'output della console. Vedi la [sintassi di StartBuildBatch risposta](https://docs.aws.amazon.com/codebuild/latest/APIReference/API_StartBuildBatch.html#API_StartBuildBatch_ResponseSyntax) per un esempio di questi dati.

# Avvio di esecuzioni di compilazione automaticamente (AWS CLI)
<a name="run-build-cli-auto-start"></a>

Se il codice sorgente è archiviato in un repository GitHub o in un repository GitHub Enterprise Server, è possibile utilizzare i GitHub webhook per AWS CodeBuild ricostruire il codice sorgente ogni volta che viene inserita una modifica al codice nell'archivio.

Eseguire il comando **create-webhook** nel modo seguente:

```
aws codebuild create-webhook --project-name <project-name>
```

*<project-name>*è il nome del progetto di compilazione che contiene il codice sorgente da ricostruire.

Infatti GitHub, nell'output vengono visualizzate informazioni simili alle seguenti:

```
{
  "webhook": {
    "url": "<url>"
  }
}
```

*<url>*è l'URL del GitHub webhook.

Per GitHub Enterprise Server, nell'output vengono visualizzate informazioni simili alle seguenti:

![\[Informazioni di output di esempio.\]](http://docs.aws.amazon.com/it_it/codebuild/latest/userguide/images/create-webhook-ghe.png)


1. Copiare l'URL della chiave segreta e di payload dall'output. Sono necessari per aggiungere un webhook in GitHub Enterprise Server. 

1. In GitHub Enterprise Server, scegliete il repository in cui è archiviato il CodeBuild progetto. Selezionare **Settings (Impostazioni)**, quindi **Hooks & services (Hook e servizi)** e selezionare **Add webhook (Aggiungi webhook)**. 

1. Inserire l'URL di payload e della chiave segreta, accettare le impostazioni predefinite per gli altri campi e selezionare **Add webhook (Aggiungi webhook)**.

# Interruzione di esecuzioni di compilazioni automaticamente (AWS CLI)
<a name="run-build-cli-auto-stop"></a>

Se il codice sorgente è archiviato in un repository GitHub o in un repository GitHub Enterprise Server, è possibile configurare dei GitHub webhook in modo da AWS CodeBuild ricostruire il codice sorgente ogni volta che viene inserita una modifica al codice nell'archivio. Per ulteriori informazioni, consulta [Avvio di esecuzioni di compilazione automaticamente (AWS CLI)](run-build-cli-auto-start.md).

Se hai abilitato questo comportamento, è possibile disattivarlo eseguendo il comando `delete-webhook` come segue:

```
aws codebuild delete-webhook --project-name <project-name>
```
+ dove *<project-name>* è il nome del progetto di compilazione che contiene il codice sorgente da ricostruire.

Se questo comando viene completato, nessuna informazione e nessun errore appaiono nell'output.

**Nota**  
Questo elimina il webhook solo dal tuo CodeBuild progetto. È inoltre necessario eliminare il webhook dal proprio repository GitHub o da quello di GitHub Enterprise Server.

# Esecuzione di una compilazione (AWS SDKs)
<a name="run-build-sdks"></a>

Per utilizzare CodePipeline per eseguire una build con AWS CodeBuild, salta questi passaggi e segui invece le istruzioni riportate. [Usa AWS CodeBuild with AWS CodePipeline per testare il codice ed eseguire build](how-to-create-pipeline.md)

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