

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 un clone completo con una fonte di CodeCommit pipeline
<a name="tutorials-codecommit-gitclone"></a>

Puoi scegliere l'opzione di clonazione completa per l'azione sorgente in. CodeCommit CodePipeline Usa questa opzione per consentire l'accesso CodeBuild ai metadati Git nell'azione di creazione della pipeline.

In questo tutorial, crei una pipeline che accede al tuo CodeCommit repository, utilizza l'opzione di clonazione completa per i dati di origine ed esegue una CodeBuild build che clona il tuo repository ed esegue i comandi Git per il repository.

**Nota**  
CodeBuild le azioni sono le uniche azioni downstream che supportano l'uso dei metadati Git disponibili con l'opzione Git clone. Inoltre, sebbene la pipeline possa contenere azioni tra più account, l' CodeCommitazione e l' CodeBuild azione devono essere sullo stesso account affinché l'opzione di clonazione completa abbia successo.

**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 dall'account della pipeline, assicurati che il bucket di artefatti S3 sia di proprietà di persone sicure e affidabili. Account AWS 

**Topics**
+ [Prerequisiti](#tutorials-codecommit-gitclone-prereq)
+ [Passaggio 1: creare un file README](#tutorials-codecommit-gitclone-file)
+ [Fase 2: Crea la tua pipeline e crea il progetto](#tutorials-codecommit-gitclone-pipeline)
+ [Passaggio 3: aggiorna la politica del ruolo del CodeBuild servizio per clonare il repository](#tutorials-codecommit-gitclone-rolepolicy)
+ [Fase 4: Visualizza i comandi del repository nell'output di compilazione](#tutorials-codecommit-gitclone-view)

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

Prima di iniziare, devi creare un CodeCommit repository nello stesso account e nella stessa regione della pipeline. AWS 

## Passaggio 1: creare un file README
<a name="tutorials-codecommit-gitclone-file"></a>

Usa questi passaggi per aggiungere un file README al tuo repository di origine. Il file README fornisce un file sorgente di esempio da leggere per l'azione CodeBuild downstream.

**Per aggiungere un file README**

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

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

   ```
   This is a CodeCommit 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-codecommit-gitclone-pipeline"></a>

In questa sezione, andrai a creare una pipeline con le operazioni seguenti:
+ Una fase sorgente con un'azione CodeCommit sorgente.
+ 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 **Avanti**.

1. Nel ** passaggio 2: scegli le impostazioni della pipeline**, in Nome ** della ** pipeline, inserisci. **MyCodeCommitPipeline**

1. CodePipeline fornisce pipeline di tipo V1 e V2, che si differenziano per caratteristiche e prezzo. Il tipo V2 è l’unico tipo che puoi scegliere nella console. Per ulteriori informazioni, consulta [tipi di pipeline](https://docs.aws.amazon.com/codepipeline/latest/userguide/pipeline-types-planning.html?icmpid=docs_acp_help_panel). Per informazioni sui prezzi di CodePipeline, vedi Prezzi. [https://aws.amazon.com/codepipeline/pricing/](https://aws.amazon.com/codepipeline/pricing/)

1. In **Service role (Ruolo del servizio)**, procedere in uno dei seguenti modi:
   + Scegli **Existing service role (Ruolo di servizio esistente)**.
   + Scegli il tuo ruolo CodePipeline di servizio esistente. Questo ruolo deve avere l'autorizzazione `codecommit:GetRepository` IAM per la tua politica sui ruoli di servizio. Vedi [ Aggiungere autorizzazioni al ruolo ](https://docs.aws.amazon.com/codepipeline/latest/userguide/security-iam.html#how-to-update-role-new-services) del CodePipeline servizio.

1. In **Impostazioni avanzate** non modificare le impostazioni predefinite. Scegli **Avanti**.

1. Nella ** pagina ** Passaggio 3: Aggiungi fase sorgente, procedi come segue:

   1. In **Source provider (Provider origine)**, scegliere **CodeCommit**.

   1. In Nome del ** repository**, scegli il nome del tuo repository.

   1. In Nome ** filiale**, scegli il nome della filiale.

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

   1. In ** Output artifact format**, scegli ** Full clone ** per abilitare l'opzione Git clone per il repository di origine. Solo le azioni fornite da CodeBuild possono utilizzare l'opzione Git clone. 

   Scegli **Avanti**.

1. Nel ** passaggio 4: Aggiungi la fase di compilazione**, procedi come segue:

   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**, scegli ** aws/codebuild ** /standard:5.0.

   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 il passaggio finale di questo tutorial.

   1. In **Buildspec**, per **Build specifications** (Specifiche di compilazione), scegli **Insert build commands (Inserisci comandi di compilazione)**. Scegli ** Passa all'editor**, quindi in Comandi di ** compilazione ** incolla il codice seguente.

      ```
      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 describe --all
        #post_build:
          #commands:
            # - command
            # - command
      #artifacts:
        #files:
          # - location
        #name: $(date +%Y-%m-%d)
        #discard-paths: yes
        #base-directory: location
      #cache:
        #paths:
          # - paths
      ```

   1. Scegli ** Continua a CodePipeline**. Questo ti riporta alla CodePipeline console e crea un CodeBuild progetto che utilizza i comandi di compilazione 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 **Avanti**.

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

   Scegli **Avanti**.

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

1. Nel ** passaggio 7: revisione**, scegli Crea pipeline. ** **

## Passaggio 3: aggiorna la politica del ruolo del CodeBuild servizio per clonare il repository
<a name="tutorials-codecommit-gitclone-rolepolicy"></a>

L'esecuzione iniziale della pipeline avrà esito negativo perché è necessario aggiornare il ruolo del CodeBuild servizio con le autorizzazioni da estrarre dal repository.

Aggiungi l'autorizzazione `codecommit:GitPull` IAM alla tua policy sui ruoli di servizio. Per istruzioni sull'aggiornamento della policy nella console IAM, consulta[Aggiungi le CodeBuild GitClone autorizzazioni per le azioni di origine CodeCommit](troubleshooting.md#codebuild-role-codecommitclone).

## Fase 4: Visualizza i comandi del repository nell'output di compilazione
<a name="tutorials-codecommit-gitclone-view"></a>

**Per visualizzare l'output della compilazione**

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

1. Una volta eseguita correttamente la pipeline, nella fase di compilazione completata, 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 restituiscono il contenuto del `README.md` file, elencano i file nella directory, clonano il repository, visualizzano il registro ed eseguono. `git describe --all` 