View a markdown version of this page

Tutorial: Usa un clone completo con una fonte di GitHub pipeline - AWS CodePipeline

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 GitHub pipeline

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

Nota

L'opzione di clonazione completa qui descritta 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 da utilizzare con i CodeBuild progetti, segui i passaggi indicati qui per installare AWS Connector for GitHub app e 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 dall'account della pipeline, assicurati che il bucket di artefatti S3 sia di proprietà di persone sicure e affidabili. Account AWS

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

Nota

Questa funzionalità non è disponibile nelle regioni Asia Pacifico (Hong Kong), Africa (Città del Capo), Medio Oriente (Bahrain), Europa (Zurigo) o (). AWS GovCloud US-West Per fare riferimento ad altre azioni disponibili, consultaIntegrazioni di prodotti e servizi con CodePipeline. Per considerazioni su questa azione nella Regione Europa (Milano), vedere la nota inCodeStarSourceConnection per Bitbucket Cloud GitHub, GitHub Enterprise Server e GitLab azioni GitLab.com autogestite.

Prerequisiti

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 le tue GitHub credenziali.

Passaggio 1: creare un file README

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.

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

    This is a GitHub repository!
  3. 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

In questa sezione, andrai a creare una pipeline con le operazioni seguenti:

  • Una fase sorgente con una connessione al tuo GitHub repository e alla tua 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/.

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

  3. Nella pagina Passaggio 1: scegli l'opzione di creazione, in Opzioni di creazione, scegli l'opzione Crea pipeline personalizzata. Scegli Avanti.

  4. Nel passaggio 2: scegli le impostazioni della pipeline, in Nome della pipeline, inserisci. MyGitHubPipeline

  5. Nel tipo di pipeline, scegli V1 per gli scopi di questo tutorial. Puoi anche scegliere V2; tuttavia, tieni presente che i tipi di pipeline differiscono per caratteristiche e prezzo. Per ulteriori informazioni, consulta Tipi di pipeline.

  6. In Service Role (Ruolo del servizio), scegliere New service role (Nuovo ruolo del servizio).

    Nota

    Se scegli invece 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 del CodePipeline servizio, consulta Aggiungere autorizzazioni al ruolo del CodePipeline servizio.

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

  8. Nella pagina Fase 3: Aggiungi fase sorgente, aggiungi una fase sorgente:

    1. In Source provider, scegli GitHub (tramite GitHub App).

    2. In Connessione, scegli una connessione esistente o creane una nuova. Per creare o gestire una connessione per l'azione GitHub sorgente, consultaGitHub connessioni.

      È sufficiente installare una sola app per tutte le connessioni a un provider specifico. Se hai già installato AWS Connector for GitHub app, sceglilo e salta questo passaggio.

      Nota

      Se desideri creare un token di accesso utente, assicurati di aver già installato AWS Connector for GitHub app e 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.

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

    4. In Branch name, scegli il branch del repository che desideri utilizzare.

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

    6. 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. Passaggio 3: aggiorna la politica del ruolo del CodeBuild servizio per utilizzare le connessioniIn questo tutorial, utilizzerai questa opzione per aggiornare le autorizzazioni per il tuo ruolo di servizio di CodeBuild progetto.

    Scegli Avanti.

  9. Nel passaggio 4: Aggiungi una 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.

    2. Seleziona Crea progetto.

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

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

    5. In Runtime, seleziona Standard. Per Image, scegli aws/codebuild /standard:5.0.

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

    7. In Buildspec, per Build specifications (Specifiche di compilazione), scegli Insert build commands (Inserisci comandi di compilazione). Scegli Passa all'editor e incolla quanto segue sotto Comandi di compilazione.

      Nota

      Nella env sezione delle specifiche di compilazione, assicurati che l'helper per le 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
    8. Scegli Continua a. CodePipeline Questo torna 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.

    9. Scegli Avanti.

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

    Scegli Avanti.

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

  12. Nel passaggio 7: revisione, scegli Crea pipeline.

Passaggio 3: aggiorna la politica del ruolo del CodeBuild servizio per utilizzare le connessioni

L'esecuzione iniziale della pipeline avrà esito negativo perché il ruolo del CodeBuild servizio deve essere aggiornato con le autorizzazioni per l'utilizzo delle connessioni. Aggiungi l'autorizzazione codestar-connections:UseConnection IAM alla tua policy sui ruoli di servizio. Per istruzioni sull'aggiornamento della policy nella console IAM, consultaCodeBuild GitClone Aggiungi le GitHub autorizzazioni GitHub per le connessioni a Bitbucket, Enterprise Server o GitLab.com.

Fase 4: Visualizza i comandi del repository nell'output di compilazione

  1. Quando il tuo ruolo di servizio è stato aggiornato correttamente, scegli Riprova nella fase CodeBuild fallita.

  2. 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 log e archiviano il repository come file ZIP.