

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 AWS GovCloud (US-West). Pour consulter les autres actions disponibles, consultez[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 figurant dans[CodeStarSourceConnection pour Bitbucket Cloud GitHub, GitHub Enterprise Server et GitLab.com les actions GitLab autogérées](action-reference-CodestarConnectionSource.md).

Pour ajouter une action source pour votre référentiel GitHub ou celui GitHub d'Enterprise Cloud CodePipeline, vous pouvez choisir l'une des options suivantes :
+ Utilisez l'**assistant de ** création de pipeline de la CodePipeline console ou la ** page ** Modifier l'action pour choisir l'option de ** fournisseur ** GitHub (via GitHub l'application). Voir [Créer une connexion à GitHub (console)](#connections-github-console) pour ajouter l'action. La console vous aide à créer une ressource de connexions.
**Note**  
Pour un didacticiel qui explique 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 l'interface de ligne de commande pour ajouter la configuration de l'`CodeStarSourceConnection`action auprès du `GitHub` fournisseur en suivant les étapes de l'interface de ligne de commande 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 référentiel GitHub de code.
+ Si votre rôle CodePipeline de 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éer une connexion à GitHub (console)](#connections-github-console)
+ [Créer une connexion à GitHub (CLI)](#connections-github-cli)

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

Procédez comme suit 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 qui ne sont pas 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 ** Suivant**. Sur la ** page ** Source, sous Fournisseur ** source**, choisissez ** GitHub (via GitHub l'application)**.
   + 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 le fournisseur ** d'actions**, choisissez ** GitHub (via GitHub l'application)**.

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éez une connexion avec GitHub.
   + Sous ** Connexion**, si vous avez déjà créé une connexion avec votre fournisseur, choisissez-la. Passez à l'étape 3 : enregistrez 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 ** Se connecter à 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 ** Se connecter à GitHub**. La page de demande d'accès s'affiche.

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

1. Sous ** GitHub Applications**, choisissez l'installation d'une 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 pour GitHub l'application, 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 que vous avez déjà installé le AWS Connector pour l' GitHub application, puis laissez le champ d'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, conservez les valeurs par défaut et choisissez ** Installer**.

1. Sur la GitHub ** page ** Se connecter à, 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, 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).

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 default**. 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 pour 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 GitLab.com](troubleshooting.md#codebuild-role-connections). Pour un didacticiel qui explique comment utiliser l'**option de clonage ** complet, consultez[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 ** Modifier l'action.

## Créer 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 à l'aide de l'interface de ligne de commande 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 de code vers le référentiel des sources de connexion. Pour configurer la configuration du déclencheur du pipeline pour une publication manuelle ou pour les balises Git, effectuez l'une des opérations suivantes :
   + Pour configurer la configuration du déclencheur du pipeline afin qu'elle démarre uniquement par une version manuelle, ajoutez la ligne suivante à la configuration : 

     ```
     "DetectChanges": "false",
     ```
   + Pour configurer la configuration des déclencheurs du pipeline afin de filtrer à l'aide de 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` indiquent les balises Git à inclure et `release-v2` la balise Git à exclure.

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