

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

# Tutorial: usa il clone completo con una sorgente di GitHub pipeline
<a name="tutorials-github-gitclone"></a>

Puoi scegliere l'opzione di clonazione completa per la tua azione di GitHub origine in. CodePipeline Usa questa opzione per eseguire CodeBuild comandi per i metadati Git nell'azione di creazione della pipeline.

**Nota**  
L'opzione full clone descritta qui si riferisce alla specifica se clonare i metadati del repository, che possono CodePipeline essere utilizzati solo dai comandi. CodeBuild Per utilizzare un [token di accesso GitHub utente](https://docs.github.com/en/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app) da utilizzare con i CodeBuild progetti, segui i passaggi riportati qui per installare il AWS Connector for GitHub app, quindi lascia vuoto il campo di installazione dell'app. CodeConnections utilizzerà il token di accesso utente per la connessione.



**Importante**  
Come parte della creazione di una pipeline, per gli artefatti verrà utilizzato un bucket di artefatti S3 fornito dal cliente. CodePipeline (Questo è diverso dal bucket utilizzato per un'azione sorgente S3.) Se il bucket di artefatti S3 si trova in un account diverso da quello della pipeline, assicurati che il bucket di artefatti S3 sia di proprietà di utenti sicuri e affidabili. Account AWS 

In questo tutorial, creerai una pipeline che si connette al tuo GitHub repository, utilizza l'opzione full clone per i dati di origine ed CodeBuild eseguirai una build che clona il tuo repository ed esegue comandi Git per il repository.

**Nota**  
Questa funzionalità non è disponibile nelle regioni Asia Pacifico (Hong Kong), Africa (Città del Capo), Medio Oriente (Bahrein), Europa (Zurigo) o AWS GovCloud (Stati Uniti occidentali). Per fare riferimento ad altre azioni disponibili, consulta. [Integrazioni di prodotti e servizi con CodePipeline](integrations.md) Per considerazioni su questa azione nella regione Europa (Milano), si veda la nota in[CodeStarSourceConnection per Bitbucket Cloud, GitHub Enterprise Server GitHub, GitLab .com e GitLab azioni autogestite](action-reference-CodestarConnectionSource.md).

**Topics**
+ [Prerequisiti](#tutorials-github-gitclone-prereq)
+ [Fase 1: Creare un file README](#tutorials-github-gitclone-file)
+ [Fase 2: Crea la tua pipeline e crea il progetto](#tutorials-github-gitclone-pipeline)
+ [Passaggio 3: Aggiornare la politica del ruolo CodeBuild di servizio per utilizzare le connessioni](#tutorials-github-gitclone-rolepolicy)
+ [Passaggio 4: Visualizza i comandi del repository nell'output della build](#tutorials-github-gitclone-view)

## Prerequisiti
<a name="tutorials-github-gitclone-prereq"></a>

Prima di iniziare è necessario:
+ Crea un GitHub repository con il tuo GitHub account.
+ Tieni a portata di mano GitHub le tue credenziali. Quando utilizzi il Console di gestione AWS per configurare una connessione, ti viene chiesto di accedere con GitHub le tue credenziali. 

## Fase 1: Creare un file README
<a name="tutorials-github-gitclone-file"></a>

Dopo aver creato il GitHub repository, segui questi passaggi per aggiungere un file README.

1. Accedi al tuo GitHub repository e scegli il tuo repository.

1. Per creare un nuovo file, scegli **Aggiungi file > Crea nuovo** file. Assegna un nome al file`README.md`. file e aggiungi il testo seguente.

   ```
   This is a GitHub repository!
   ```

1. Scegliere **Commit changes (Applica modifiche)**.

   Assicurati che il file `README.md` si trovi al livello root del repository.

## Fase 2: Crea la tua pipeline e crea il progetto
<a name="tutorials-github-gitclone-pipeline"></a>

In questa sezione, andrai a creare una pipeline con le operazioni seguenti:
+ Una fase di origine con una connessione al GitHub repository e all'azione.
+ Una fase di compilazione con un'azione di AWS CodeBuild compilazione.

**Per creare una pipeline con la procedura guidata**

1. Accedi alla CodePipeline console all'indirizzo [https://console.aws.amazon.com/codepipeline/](https://console.aws.amazon.com/codepipeline/).

1. Nella pagina **Welcome (Benvenuto)**, pagina **Getting started (Nozioni di base)** o pagina **Pipelines (Pipeline)**, scegli **Create pipeline (Crea pipeline)**.

1. Nella pagina **Passaggio 1: Scegli l'opzione di creazione**, in **Opzioni di creazione**, scegli l'opzione **Crea pipeline personalizzata**. Scegli **Next (Successivo)**.

1. Nel **Passaggio 2: Scegliete le impostazioni della pipeline**, in **Nome della tubazione**, immettete. **MyGitHubPipeline**

1. In **Tipo di tubazione**, scegliete **V1** ai fini di questo tutorial. Puoi anche scegliere **V2**; tuttavia, tieni presente che i tipi di tubazione differiscono per caratteristiche e prezzo. Per ulteriori informazioni, consulta [Tipi di tubazioni](pipeline-types.md).

1. In **Service Role (Ruolo del servizio)**, scegliere **New service role (Nuovo ruolo del servizio)**.
**Nota**  
Se invece scegli di utilizzare il tuo ruolo di CodePipeline servizio esistente, assicurati di aver aggiunto l'autorizzazione `codestar-connections:UseConnection` IAM alla tua policy sul ruolo di servizio. Per istruzioni sul ruolo CodePipeline di servizio, consulta [Aggiungere autorizzazioni al ruolo CodePipeline di servizio](https://docs.aws.amazon.com/codepipeline/latest/userguide/security-iam.html#how-to-update-role-new-services).

1. In **Impostazioni avanzate** non modificare le impostazioni predefinite. In **Artifact store (Archivio artefatti)**, seleziona **Default location (Posizione predefinita)** per utilizzare l'archivio artefatti predefinito, ad esempio il bucket Amazon S3 dedicato agli artefatti designato come predefinito, per la pipeline nella regione selezionata.
**Nota**  
Non si tratta del bucket di origine per il codice sorgente, ma dell'archivio artefatti per la pipeline. È richiesto un archivio artefatti separato, ad esempio un bucket S3, per ogni pipeline.

   Scegli **Next (Successivo)**.

1. Nella pagina **Passaggio 3: Aggiungi fase di origine**, aggiungi una fase di origine:

   1. In **Source provider**, scegli **GitHub (tramite GitHub app)**.

   1. In **Connessione**, scegli una connessione esistente o creane una nuova. Per creare o gestire una connessione per l'azione GitHub sorgente, consulta[GitHub connessioni](connections-github.md). 

      È sufficiente installare una sola app per tutte le connessioni a un provider specifico. Se hai già installato l' GitHub app AWS Connector for, sceglilo e salta questo passaggio.
**Nota**  
Se desideri creare un [token di accesso utente](https://docs.github.com/en/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app), assicurati di aver già installato AWS Connector per GitHub app, quindi lascia vuoto il campo di installazione dell'app. CodeConnections utilizzerà il token di accesso utente per la connessione. Per ulteriori informazioni, consulta [Accedere al provider di origine in CodeBuild](https://docs.aws.amazon.com/codebuild/latest/userguide/access-tokens.html).

   1. In **Repository name (Nome repository)**, scegli il nome del repository GitHub.

   1. In **Nome del ramo**, scegli il ramo del repository che desideri utilizzare.

   1. Assicurati che l'opzione **Avvia la pipeline alla modifica del codice sorgente** sia selezionata.

   1. In **Formato artefatto di output**, scegli **Clone completo** per abilitare l'opzione Git clone per il repository di origine. Solo le azioni fornite da CodeBuild possono utilizzare l'opzione Git clone. [Passaggio 3: Aggiornare la politica del ruolo CodeBuild di servizio per utilizzare le connessioni](#tutorials-github-gitclone-rolepolicy)In questo tutorial utilizzerai questa opzione per aggiornare le autorizzazioni per il tuo ruolo di CodeBuild project service.

   Scegli **Next (Successivo)**.

1. Nel **passaggio 4: Aggiungi fase di compilazione, aggiungi una fase** di compilazione:

   1. In **Build provider (Provider compilazione)**, scegli **AWS CodeBuild**. Consenti a **Region (Regione)** di preimpostarsi sulla regione della pipeline.

   1. Seleziona **Crea progetto**.

   1. In **Project name (Nome progetto)** immettere un nome per questo progetto di compilazione.

   1. In **Environment image (Immagine ambiente)**, scegli **Managed image (Immagine gestita)**. In **Operating system** (Sistema operativo), seleziona **Ubuntu**.

   1. In **Runtime**, seleziona **Standard**. **Per **Image**, scegliete: 5.0aws/codebuild/standard.**

   1. Per **Service Role (Ruolo del servizio)**, scegli **New service role (Nuovo ruolo del servizio)**.
**Nota**  
Annota il nome del tuo ruolo di servizio. CodeBuild Avrai bisogno del nome del ruolo per l'ultimo passaggio di questo tutorial.

   1. In **Buildspec**, per **Build specifications** (Specifiche di compilazione), scegli **Insert build commands (Inserisci comandi di compilazione)**. Scegli **Passa all'editor** e incolla quanto segue nei **comandi di creazione**.
**Nota**  
Nella `env` sezione delle specifiche di compilazione, assicurati che l'helper delle credenziali per i comandi git sia abilitato come mostrato in questo esempio.

      ```
      version: 0.2
      
      env:
        git-credential-helper: yes
      phases:
        install:
          #If you use the Ubuntu standard image 2.0 or later, you must specify runtime-versions.
          #If you specify runtime-versions and use an image other than Ubuntu standard image 2.0, the build fails.
          runtime-versions:
            nodejs: 12
            # name: version
          #commands:
            # - command
            # - command
        pre_build:
          commands:
            - ls -lt
            - cat README.md
        build:
          commands:
            - git log | head -100
            - git status
            - ls
            - git archive --format=zip HEAD > application.zip
        #post_build:
          #commands:
            # - command
            # - command
      artifacts:
        files:
          - application.zip
          # - location
        #name: $(date +%Y-%m-%d)
        #discard-paths: yes
        #base-directory: location
      #cache:
        #paths:
          # - paths
      ```

   1. **Scegli Continua a. CodePipeline** Questo ritorna alla CodePipeline console e crea un CodeBuild progetto che utilizza i comandi di build per la configurazione. Il progetto di compilazione utilizza un ruolo di servizio per gestire le Servizio AWS autorizzazioni. Questa operazione potrebbe richiedere un paio di minuti.

   1. Scegli **Next (Successivo)**.

1. Nel **passaggio 5: aggiungi la fase di test**, scegli **Ignora fase di test**, quindi accetta il messaggio di avviso scegliendo nuovamente **Ignora**. 

   Scegli **Next (Successivo)**.

1. **Nella pagina Passaggio 6: Aggiungi fase di distribuzione, scegli Ignora fase** **di distribuzione****, quindi accetta il messaggio di avviso scegliendo nuovamente Ignora.** Scegli **Next (Successivo)**.

1. **Nel **Passaggio 7: Revisione**, scegli Crea pipeline.**

## Passaggio 3: Aggiornare la politica del ruolo CodeBuild di servizio per utilizzare le connessioni
<a name="tutorials-github-gitclone-rolepolicy"></a>

L'esecuzione iniziale della pipeline avrà esito negativo perché il ruolo CodeBuild di servizio deve essere aggiornato con le autorizzazioni per utilizzare le connessioni. Aggiungi l'autorizzazione `codestar-connections:UseConnection` IAM alla tua policy sui ruoli di servizio. Per istruzioni su come aggiornare la policy nella console IAM, consulta[Aggiungi le autorizzazioni per le connessioni a Bitbucket, Enterprise Server o.com CodeBuild GitClone GitHub GitHub GitLab](troubleshooting.md#codebuild-role-connections).

## Passaggio 4: Visualizza i comandi del repository nell'output della build
<a name="tutorials-github-gitclone-view"></a>

1. Quando il ruolo di servizio viene aggiornato correttamente, scegli **Riprova** nella fase non riuscita CodeBuild .

1. Dopo che la pipeline è stata eseguita correttamente, nella fase di compilazione corretta, scegli **Visualizza** dettagli.

   Nella pagina dei dettagli, scegli la scheda **Registri.** Visualizza l'output della CodeBuild build. I comandi restituiscono il valore della variabile inserita.

   I comandi generano il contenuto del `README.md` file, elencano i file nella directory, clonano il repository, visualizzano il registro e archiviano il repository come file ZIP.