

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.

# GitHub connexions
<a name="connections-github"></a>

Vous utilisez les connexions pour autoriser et établir des configurations qui associent votre fournisseur tiers à vos AWS ressources.

**Note**  
Au lieu de créer ou d'utiliser une connexion existante dans votre compte, vous pouvez utiliser une connexion partagée entre un autre Compte AWS. Consultez [Utiliser une connexion partagée avec un autre compte](connections-shared.md).

**Note**  
Cette fonctionnalité n'est pas disponible dans les régions Asie-Pacifique (Hong Kong), Asie-Pacifique (Hyderabad), Asie-Pacifique (Jakarta), Asie-Pacifique (Melbourne), Asie-Pacifique (Osaka), Afrique (Le Cap), Moyen-Orient (Bahreïn), Moyen-Orient (Émirats arabes unis), Europe (Espagne), Europe (Zurich), Israël (Tel Aviv) ou (USA Ouest). AWS GovCloud 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).

Pour ajouter une action source pour votre référentiel GitHub ou GitHub celui de votre référentiel Enterprise Cloud CodePipeline, vous pouvez choisir de :
+ Utilisez l'assistant de **création de pipeline** ou la page **d'action Modifier** de la CodePipeline console pour choisir l'option fournisseur **GitHub (via GitHub l'application)**. Consultez [Création d'une connexion à GitHub Enterprise Server (console)](connections-ghes.md#connections-ghes-console) pour ajouter l'action. La console vous permet de créer une ressource de connexions.
**Note**  
Pour un didacticiel expliquant comment ajouter une GitHub connexion et utiliser l'option de **clonage complet** dans votre pipeline pour cloner des métadonnées, consultez[Tutoriel : Utiliser un clone complet avec une source de GitHub pipeline](tutorials-github-gitclone.md).
+ Utilisez la CLI pour ajouter la configuration de l'`CodeStarSourceConnection`action avec le `GitHub` fournisseur en suivant les étapes de la CLI indiquées dans[Création d'un pipeline (interface de ligne de commande)](pipelines-create.md#pipelines-create-cli).

**Note**  
Vous pouvez également créer une connexion à l'aide de la console Developer Tools sous **Paramètres**. Voir [Créer une connexion](https://docs.aws.amazon.com/dtconsole/latest/userguide/connections-create.html).

Avant de commencer :
+ Vous devez avoir créé un compte auprès de GitHub.
+ Vous devez déjà avoir créé un dépôt de GitHub code.
+ Si votre rôle de CodePipeline service a été créé avant le 18 décembre 2019, vous devrez peut-être mettre à jour ses autorisations à utiliser `codestar-connections:UseConnection` pour les AWS CodeStar connexions. Pour obtenir des instructions, veuillez consulter [Ajouter des autorisations au rôle CodePipeline de service](how-to-custom-role.md#how-to-update-role-new-services).

**Note**  
Pour créer la connexion, vous devez être le propriétaire de GitHub l'organisation. Pour les référentiels qui ne font pas partie d'une organisation, vous devez être le propriétaire du référentiel.

**Topics**
+ [Création d'une connexion à GitHub (console)](#connections-github-console)
+ [Création d'une connexion à GitHub (CLI)](#connections-github-cli)

## Création d'une connexion à GitHub (console)
<a name="connections-github-console"></a>

Suivez ces étapes pour utiliser la CodePipeline console afin d'ajouter une action de connexion pour votre référentiel GitHub ou GitHub celui d'Enterprise Cloud.

**Note**  
Au cours de ces étapes, vous pouvez sélectionner des référentiels spécifiques sous **Accès au référentiel**. Les référentiels non sélectionnés ne seront ni accessibles ni visibles par CodePipeline.

### Étape 1 : créer ou modifier votre pipeline
<a name="connections-github-console-action"></a>

1. Connectez-vous à la CodePipeline console.

1. Choisissez l’une des options suivantes.
   + Choisissez de créer un pipeline. Suivez les étapes décrites dans *Créer un pipeline* pour terminer le premier écran et choisissez **Next**. Sur la page **Source**, sous **Source Provider**, sélectionnez **GitHub (via GitHub App)**.
   + Choisissez de modifier un pipeline existant. Choisissez **Modifier**, puis sélectionnez **Modifier l'étape**. Choisissez d'ajouter ou de modifier votre action source. Sur la page **Modifier l'action**, sous **Nom de l'action**, entrez le nom de votre action. Dans **Action provider**, choisissez **GitHub (via GitHub App)**.

1. Effectuez l’une des actions suivantes :
   + Sous **Connexion**, si vous n'avez pas encore créé de connexion avec votre fournisseur, choisissez **Se connecter à GitHub**. Passez à l'étape 2 : créer une connexion à GitHub.
   + Sous **Connexion**, si vous avez déjà créé une connexion avec votre fournisseur, choisissez-la. Passez à l'étape 3 : enregistrer l'action source pour votre connexion.

### Étape 2 : créer une connexion avec GitHub
<a name="connections-github-console-create"></a>

Une fois que vous avez choisi de créer la connexion, la GitHub page **Connect to** apparaît.

![\[Capture d'écran de la console montrant la page de GitHub connexion initiale.\]](http://docs.aws.amazon.com/fr_fr/codepipeline/latest/userguide/images/github-conn.png)


**Pour créer une connexion avec GitHub**

1. Dans **les paramètres de GitHub connexion**, le nom de votre connexion apparaît dans **Nom de la connexion**. Choisissez **Connect to GitHub**. La page de demande d'accès s'affiche.

1. Choisissez **Autoriser le AWS connecteur pour GitHub**. La page de connexion affiche et affiche le champ **GitHub Applications**.  
![\[Capture d'écran de la console montrant la page de GitHub connexion initiale avec le champ GitHub Apps.\]](http://docs.aws.amazon.com/fr_fr/codepipeline/latest/userguide/images/github-conn-access-app.png)

1. Sous **GitHub Applications**, choisissez une installation d'application ou choisissez **Installer une nouvelle application** pour en créer une.

   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.

1. Sur la GitHub page **Installer le AWS connecteur pour**, choisissez le compte sur lequel vous souhaitez installer l'application.
**Note**  
Vous n'installez l'application qu'une seule fois pour chaque GitHub compte. Si vous avez déjà installé l'application, vous pouvez choisir **Configure (Configurer)** pour passer à une page de modification pour l'installation de votre application, ou vous pouvez utiliser le bouton Précédent pour revenir à la console.

1. Sur la GitHub page **Installer le AWS connecteur pour**, laissez les valeurs par défaut et choisissez **Installer**.

1. Sur la GitHub page **Connect to**, l'ID de connexion de votre nouvelle installation apparaît dans **GitHub Apps**. Choisissez **Se connecter**.

### Étape 3 : Enregistrez votre action GitHub source
<a name="connections-github-console-save"></a>

Suivez ces étapes sur la page **Modifier l'action** pour enregistrer votre action source avec vos informations de connexion.

**Pour enregistrer votre action GitHub source**

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

1. Sous **Déclencheurs du pipeline**, vous pouvez ajouter des déclencheurs si votre action est une CodeConnections action. Pour configurer la configuration des déclencheurs du pipeline et pour éventuellement filtrer à l'aide de déclencheurs, reportez-vous à la section[Ajouter un déclencheur avec des types d'événements de type code push ou pull request](pipelines-filter.md).

1. Dans **Output artifact format (Format d'artefact de sortie)**, vous devez choisir le format de vos artefacts. 
   + Pour stocker les artefacts de sortie de l' GitHub action à l'aide de la méthode par défaut, choisissez **CodePipeline par défaut**. L'action accède aux fichiers depuis le GitHub référentiel et stocke les artefacts dans un fichier ZIP dans le magasin d'artefacts du pipeline.
   + Pour stocker un fichier JSON contenant une référence d'URL au référentiel afin que les actions en aval puissent exécuter directement les commandes Git, choisissez **Full clone (Clone complet)**. Cette option ne peut être utilisée que par des actions CodeBuild en aval.

     Si vous choisissez cette option, vous devrez mettre à jour les autorisations associées à votre rôle de service de CodeBuild projet, comme indiqué dans[Ajoutez CodeBuild GitClone des autorisations pour les connexions à Bitbucket GitHub, GitHub Enterprise Server ou .com GitLab](troubleshooting.md#codebuild-role-connections). Pour consulter un didacticiel expliquant comment utiliser l'option de **clonage complet**, voir[Tutoriel : Utiliser un clone complet avec une source de GitHub pipeline](tutorials-github-gitclone.md).

1. Choisissez **Suivant** dans l'assistant ou **Enregistrer** sur la page **d'action Modifier**.

## Création d'une connexion à GitHub (CLI)
<a name="connections-github-cli"></a>

Vous pouvez utiliser le AWS Command Line Interface (AWS CLI) pour créer une connexion. 

Pour ce faire, utilisez la commande **create-connection**. 

**Important**  
Une connexion créée via le AWS CLI ou AWS CloudFormation est en `PENDING` statut par défaut. Après avoir créé une connexion avec la CLI CloudFormation, utilisez la console pour modifier la connexion afin de définir son état`AVAILABLE`.

**Pour créer une connexion**

1. Ouvrez une invite de terminal (Linux, macOS ou Unix) ou de commande (Windows). Utilisez le AWS CLI pour exécuter la **create-connection** commande, en spécifiant le `--provider-type` et `--connection-name` pour votre connexion. Dans cet exemple, le nom du fournisseur tiers est `GitHub` et le nom de connexion spécifié est `MyConnection`.

   ```
   aws codestar-connections create-connection --provider-type GitHub --connection-name MyConnection
   ```

   En cas de succès, cette commande renvoie les informations ARN de connexion semblables à ce qui suit.

   ```
   {
       "ConnectionArn": "arn:aws:codestar-connections:us-west-2:account_id:connection/aEXAMPLE-8aad-4d5d-8878-dfcab0bc441f"
   }
   ```

1. Utilisez la console pour terminer la connexion. Pour plus d'informations, voir [Mettre à jour une connexion en attente](https://docs.aws.amazon.com/dtconsole/latest/userguide/connections-update.html). 

1. Le pipeline détecte par défaut les modifications lors de l'envoi du code vers le référentiel des sources de connexion. Pour configurer la configuration du déclencheur du pipeline pour le lancement manuel ou pour les balises Git, effectuez l'une des opérations suivantes :
   + Pour configurer la configuration du déclencheur du pipeline afin qu'elle commence par un déverrouillage manuel uniquement, ajoutez la ligne suivante à la configuration : 

     ```
     "DetectChanges": "false",
     ```
   + Pour configurer la configuration des déclencheurs du pipeline afin de filtrer avec des déclencheurs, voir plus de détails dans[Ajouter un déclencheur avec des types d'événements de type code push ou pull request](pipelines-filter.md). Par exemple, ce qui suit ajoute au niveau du pipeline de la définition JSON du pipeline. Dans cet exemple, `release-v0` et `release-v1` sont les balises Git à inclure et `release-v2` les balises Git à exclure.

     ```
     "triggers": [
                 {
                     "providerType": "CodeStarSourceConnection",
                     "gitConfiguration": {
                         "sourceActionName": "Source",
                         "push": [
                             {
                                 "tags": {
                                     "includes": [
                                         "release-v0", "release-v1"
                                     ],
                                     "excludes": [
                                         "release-v2"
                                     ]
                                 }
                             }
                         ]
                     }
                 }
             ]
     ```