

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Tutoriel : Utiliser un clone complet avec une source de GitHub pipeline
<a name="tutorials-github-gitclone"></a>

Vous pouvez choisir l'option de clonage complet pour votre action GitHub source dans CodePipeline. Utilisez cette option pour exécuter des CodeBuild commandes pour les métadonnées Git dans votre action de création de pipeline.

**Note**  
L'option de clonage complet décrite ici consiste à spécifier si les métadonnées du référentiel CodePipeline doivent être clonées, qui ne peuvent être utilisées que par CodeBuild des commandes. Pour utiliser un [jeton GitHub d'accès utilisateur](https://docs.github.com/en/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app) à utiliser avec CodeBuild des projets, suivez les étapes décrites ici pour installer le AWS connecteur pour GitHub l'application, puis laissez le champ d'installation de l'application vide. CodeConnections utilisera le jeton d'accès utilisateur pour la connexion.



**Important**  
Dans le cadre de la création d'un pipeline, un compartiment d'artefacts S3 fourni par le client sera utilisé CodePipeline pour les artefacts. (Ceci est différent du compartiment utilisé pour une action source S3.) Si le compartiment d'artefacts S3 se trouve dans un compte différent de celui de votre pipeline, assurez-vous que le compartiment d'artefacts S3 appartient à cette personne sûre et Comptes AWS qu'elle sera fiable.

Dans ce didacticiel, vous allez créer un pipeline qui se connecte à votre GitHub dépôt, utilise l'option de clonage complet pour les données source et exécute une CodeBuild version qui clone votre dépôt et exécute les commandes Git pour le référentiel.

**Note**  
Cette fonctionnalité n'est pas disponible dans les régions Asie-Pacifique (Hong Kong), Afrique (Le Cap), Moyen-Orient (Bahreïn), Europe (Zurich) AWS GovCloud ou (USA Ouest). Pour faire référence aux autres actions disponibles, voir[Intégrations de produits et de services avec CodePipeline](integrations.md). Pour les considérations relatives à cette action dans la région Europe (Milan), voir la note dans[CodeStarSourceConnection pour Bitbucket Cloud GitHub, GitHub Enterprise Server, GitLab .com et les actions GitLab autogérées](action-reference-CodestarConnectionSource.md).

**Topics**
+ [Conditions préalables](#tutorials-github-gitclone-prereq)
+ [Étape 1 : Création d'un fichier README](#tutorials-github-gitclone-file)
+ [Étape 2 : Créez votre pipeline et créez votre projet](#tutorials-github-gitclone-pipeline)
+ [Étape 3 : mettre à jour la politique des rôles de CodeBuild service pour utiliser les connexions](#tutorials-github-gitclone-rolepolicy)
+ [Étape 4 : Afficher les commandes du référentiel dans la sortie de compilation](#tutorials-github-gitclone-view)

## Conditions préalables
<a name="tutorials-github-gitclone-prereq"></a>

Avant de commencer, vous devez exécuter les opérations suivantes :
+ Créez un GitHub référentiel avec votre GitHub compte.
+ Préparez vos GitHub informations d'identification. Lorsque vous utilisez le AWS Management Console pour établir une connexion, il vous est demandé de vous connecter avec vos GitHub informations d'identification. 

## Étape 1 : Création d'un fichier README
<a name="tutorials-github-gitclone-file"></a>

Après avoir créé votre GitHub dépôt, procédez comme suit pour ajouter un fichier README.

1. Connectez-vous à votre GitHub dépôt et choisissez votre dépôt.

1. Pour créer un nouveau fichier, choisissez **Ajouter un fichier > Créer un nouveau fichier**. Nommez le fichier`README.md`... fichier et ajoutez le texte suivant.

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

1. Choisissez **Valider les modifications**.

   Assurez-vous que le fichier `README.md` est au niveau racine de votre référentiel.

## Étape 2 : Créez votre pipeline et créez votre projet
<a name="tutorials-github-gitclone-pipeline"></a>

Dans cette section, vous créez un pipeline avec les actions suivantes :
+ Un stage source avec une connexion à votre GitHub référentiel et une action.
+ Une phase de construction avec une action de AWS CodeBuild construction.

**Pour créer un pipeline avec l'assistant**

1. Connectez-vous à la CodePipeline console à l'adresse [https://console.aws.amazon.com/codepipeline/](https://console.aws.amazon.com/codepipeline/).

1. Sur la page **Bienvenue**, **Démarrez** ou **Pipelines**, choisissez **Créer un pipeline**.

1. Sur la page **Étape 1 : Choisir une option de création**, sous **Options de création**, choisissez l'option **Créer un pipeline personnalisé**. Choisissez **Suivant**.

1. À **l'étape 2 : Choisissez les paramètres du pipeline**, dans **Nom du pipeline**, entrez**MyGitHubPipeline**.

1. Dans **Type de pipeline**, choisissez **V1** pour les besoins de ce didacticiel. Vous pouvez également choisir la **V2** ; toutefois, notez que les types de pipelines diffèrent en termes de caractéristiques et de prix. Pour de plus amples informations, veuillez consulter [Types de pipelines](pipeline-types.md).

1. Dans **Service role (Rôle de service)**, choisissez **New service role (Nouveau rôle de service)**.
**Note**  
Si vous choisissez plutôt d'utiliser votre rôle de CodePipeline service existant, assurez-vous d'avoir ajouté l'autorisation `codestar-connections:UseConnection` IAM à votre politique de rôle de service. Pour obtenir des instructions relatives au rôle de CodePipeline service, voir [Ajouter des autorisations au rôle CodePipeline de service](https://docs.aws.amazon.com/codepipeline/latest/userguide/security-iam.html#how-to-update-role-new-services).

1. Sous **Paramètres avancés**, conservez les valeurs par défaut. Dans le **magasin d'artefacts** choisissez **Default location (Emplacement par défaut)** pour utiliser le magasin d'artefacts par défaut, tel que le compartiment d'artefacts Amazon S3 désigné par défaut, pour votre pipeline dans la région que vous avez sélectionnée pour ce dernier.
**Note**  
Il ne s'agit pas du compartiment source de votre code source. Il s'agit du magasin d'artefacts pour votre pipeline. Un magasin d'artefacts distinct, tel qu'un compartiment S3, est nécessaire pour chaque pipeline.

   Choisissez **Suivant**.

1. Sur la page **Étape 3 : Ajouter un stage source**, ajoutez un stage source :

   1. Dans **Source provider**, sélectionnez **GitHub (via GitHub App)**.

   1. Sous **Connexion**, choisissez une connexion existante ou créez-en une nouvelle. Pour créer ou gérer une connexion pour votre action GitHub source, consultez[GitHub connexions](connections-github.md). 

      Installez une application pour toutes vos connexions à un fournisseur particulier. Si vous avez déjà installé le AWS Connector for GitHub app, choisissez-le et ignorez cette étape.
**Note**  
Si vous souhaitez créer un [jeton d'accès utilisateur](https://docs.github.com/en/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app), assurez-vous d'avoir déjà installé le AWS connecteur pour l' GitHub application, puis laissez le champ Installation de l'application vide. CodeConnections utilisera le jeton d'accès utilisateur pour la connexion. Pour plus d'informations, voir [Accéder à votre fournisseur de source dans CodeBuild](https://docs.aws.amazon.com/codebuild/latest/userguide/access-tokens.html).

   1. Dans **Nom du référentiel**, choisissez le nom de votre référentiel GitHub.

   1. Dans **Nom de la branche**, choisissez la branche du référentiel que vous souhaitez utiliser.

   1. Veillez à ce que l'option **Démarrer le pipeline lors de la modification du code source** soit sélectionnée.

   1. Sous **Format d'artefact de sortie**, choisissez **Full clone** pour activer l'option Git clone pour le référentiel source. Seules les actions fournies par CodeBuild peuvent utiliser l'option Git clone. [Étape 3 : mettre à jour la politique des rôles de CodeBuild service pour utiliser les connexions](#tutorials-github-gitclone-rolepolicy)Dans ce didacticiel, vous utiliserez cette option pour mettre à jour les autorisations associées à votre rôle de service de CodeBuild projet.

   Choisissez **Suivant**.

1. Dans **Étape 4 : Ajouter une phase de construction**, ajoutez une étape de construction :

   1. Dans le champ **Fournisseur de génération**, choisissez **AWS CodeBuild**. Acceptez la région du pipeline comme **Région** par défaut.

   1. Sélectionnez **Create a project (Créer un projet)**.

   1. Dans **Nom du projet**, saisissez un nom pour ce projet de génération.

   1. Dans le champ **Image d'environnement**, choisissez **Image gérée**. Pour **Système d'exploitation**, choisissez **Ubuntu**.

   1. Pour **Runtime (Exécution)**, sélectionnez **Standard**. **Pour **Image**, choisissez aws/codebuild/standard : 5.0.**

   1. Pour **Rôle de service**, choisissez **Nouveau rôle de service**.
**Note**  
Notez le nom de votre rôle CodeBuild de service. Vous aurez besoin du nom du rôle pour la dernière étape de ce didacticiel.

   1. Sous **Buildspec**, pour **Build specifications (Spécifications de génération)**, choisissez **Insert build commands (Insérer des commandes de génération)**. Choisissez **Passer à l'éditeur**, puis collez le texte suivant sous **Commandes de génération**.
**Note**  
Dans la `env` section des spécifications de compilation, assurez-vous que l'assistant d'identification pour les commandes git est activé comme indiqué dans cet exemple.

      ```
      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. Choisissez **Continuer vers CodePipeline**. Cela revient à la CodePipeline console et crée un CodeBuild projet qui utilise vos commandes de construction pour la configuration. Le projet de construction utilise un rôle de service pour gérer les Service AWS autorisations. Cette étape peut prendre quelques minutes.

   1. Choisissez **Suivant**.

1. À **l'étape 5 : Ajouter une phase de test**, choisissez **Ignorer l'étape de test**, puis acceptez le message d'avertissement en choisissant à nouveau **Ignorer**. 

   Choisissez **Suivant**.

1. Sur la page **Étape 6 : Ajouter une phase de déploiement**, choisissez **Ignorer l'étape de déploiement**, puis acceptez le message d'avertissement en choisissant à nouveau **Ignorer**. Choisissez **Suivant**.

1. À **l'étape 7 : Révision**, choisissez **Créer un pipeline**.

## Étape 3 : mettre à jour la politique des rôles de CodeBuild service pour utiliser les connexions
<a name="tutorials-github-gitclone-rolepolicy"></a>

L'exécution initiale du pipeline échouera car le rôle de CodeBuild service doit être mis à jour avec les autorisations d'utilisation des connexions. Ajoutez l'autorisation `codestar-connections:UseConnection` IAM à votre politique de rôle de service. Pour obtenir des instructions sur la mise à jour de la politique dans la console IAM, consultez[Ajoutez CodeBuild GitClone des autorisations pour les connexions à Bitbucket GitHub, GitHub Enterprise Server ou .com GitLab](troubleshooting.md#codebuild-role-connections).

## Étape 4 : Afficher les commandes du référentiel dans la sortie de compilation
<a name="tutorials-github-gitclone-view"></a>

1. Lorsque votre rôle de service est correctement mis à jour, choisissez **Réessayer** en cas d'échec CodeBuild .

1. Une fois le pipeline exécuté avec succès, lors de la phase de construction réussie, choisissez **Afficher les détails**.

   Sur la page de détails, choisissez l'onglet **Logs**. Affichez le résultat CodeBuild de la compilation. Les commandes produisent la valeur de la variable saisie.

   Les commandes affichent le contenu du `README.md` fichier, répertorient les fichiers du répertoire, clonent le référentiel, affichent le journal et archivent le référentiel sous forme de fichier ZIP.