

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 CodeCommit pipeline
<a name="tutorials-codecommit-gitclone"></a>

Puoi scegliere l'opzione di clonazione completa per la tua azione di CodeCommit origine in. 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 full clone per i dati di origine ed esegue una CodeBuild build che clona il tuo repository ed esegue comandi Git per il repository.

**Nota**  
CodeBuild le azioni sono le uniche azioni a valle 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 trovarsi nello 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 da quello della pipeline, assicurati che il bucket di artefatti S3 sia di proprietà di utenti sicuri 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: Aggiornare la politica del ruolo CodeBuild di servizio per clonare il repository
](#tutorials-codecommit-gitclone-rolepolicy)
+ [

## Passaggio 4: Visualizza i comandi del repository nell'output della build
](#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>

Segui 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 a CodeBuild valle.

**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`. file 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 di origine con un'azione CodeCommit di origine.
+ 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. **MyCodeCommitPipeline**

1. CodePipeline fornisce condotte di tipo V1 e V2, che differiscono per caratteristiche e prezzo. Il tipo V2 è l'unico tipo che puoi scegliere nella console. Per ulteriori informazioni, consulta i 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, consulta la sezione [Prezzi](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 disporre dell'autorizzazione `codecommit:GetRepository` IAM per la tua politica relativa ai ruoli di servizio. Vedi [Aggiungere autorizzazioni al ruolo di CodePipeline 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. Scegli **Next (Successivo)**.

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

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

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

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

   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. 

   Scegli **Next (Successivo)**.

1. Nel **passaggio 4: Aggiungere 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**, 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**, quindi in **Comandi di creazione** 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 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 clonare il repository
<a name="tutorials-codecommit-gitclone-rolepolicy"></a>

L'esecuzione iniziale della pipeline avrà esito negativo perché è necessario aggiornare il ruolo di CodeBuild servizio con le autorizzazioni per l'estrazione dal repository.

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

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

**Per visualizzare l'output della build**

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

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 ed eseguono. `git describe --all` 