

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.

# Mettre à jour une action source GitHub (via une OAuth application) en une action source GitHub (via une GitHub application)
<a name="update-github-action-connections"></a>

Dans AWS CodePipeline, deux versions de l'action GitHub source sont prises en charge :
+ **Recommandé :** L'action GitHub (via GitHub App) utilise l'authentification basée sur l'application Github soutenue par une ressource. [CodeStarSourceConnection pour Bitbucket Cloud GitHub, GitHub Enterprise Server, GitLab .com et les actions GitLab autogérées](action-reference-CodestarConnectionSource.md) Il installe une application AWS CodeStar Connections dans votre GitHub organisation afin que vous puissiez gérer l'accès à GitHub.
+ **Non recommandé :** l'action GitHub (via OAuth l'application) utilise des OAuth jetons pour s'authentifier GitHub et utilise un webhook distinct pour détecter les modifications. Ce n'est plus la méthode recommandée.

**Note**  
Les connexions ne sont pas disponibles 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).

L'utilisation de l'action GitHub (via l' GitHub application) au lieu de l'action GitHub (via l' OAuth application) présente des avantages importants :
+ Grâce aux connexions, vous CodePipeline n'avez plus besoin d' OAuth applications ou de jetons d'accès personnels pour accéder à votre référentiel. Lorsque vous créez une connexion, vous installez une GitHub application qui gère l'authentification dans votre GitHub référentiel et autorise les autorisations au niveau de l'organisation. Vous devez autoriser OAuth les jetons en tant qu'utilisateur pour accéder au référentiel. Pour plus d'informations sur GitHub l'accès OAuth basé par opposition à l' GitHub accès basé sur les applications, voir[https://docs.github.com/en/developers/apps/differences-between-github-apps-and-oauth-apps](https://docs.github.com/en/developers/apps/differences-between-github-apps-and-oauth-apps).
+ Lorsque vous gérez GitHub (via une GitHub application) des actions dans la CLI CloudFormation, vous n'avez plus besoin de stocker votre jeton d'accès personnel en tant que secret dans Secrets Manager. Il n'est plus nécessaire de référencer dynamiquement le secret stocké dans la configuration de votre CodePipeline action. Vous ajoutez plutôt l'ARN de connexion à votre configuration d'action. Pour un exemple de configuration d'action, voir[CodeStarSourceConnection pour Bitbucket Cloud GitHub, GitHub Enterprise Server, GitLab .com et les actions GitLab autogérées](action-reference-CodestarConnectionSource.md).
+ Lorsque vous créez une ressource de connexion à utiliser avec votre action GitHub (via GitHub l'application) CodePipeline, vous pouvez utiliser la même ressource de connexion pour associer d'autres services pris en charge, tels que CodeGuru Reviewer, à votre référentiel.
+ Dans Github (via GitHub App), vous pouvez cloner des référentiels pour accéder aux métadonnées git lors d' CodeBuild actions ultérieures, tandis que dans Github (via OAuth l'application), vous ne pouvez télécharger que le code source.
+ Un administrateur installe l'application pour les référentiels de votre organisation. Vous n'avez plus à suivre les OAuth jetons qui dépendent de la personne qui les a créés.

Toutes les applications installées dans une organisation ont accès au même ensemble de référentiels. Pour modifier les personnes autorisées à accéder à chaque référentiel, modifiez la politique IAM pour chaque connexion. Pour un exemple, voir [Exemple : une politique limitée pour l'utilisation de connexions avec un référentiel spécifié](https://docs.aws.amazon.com/dtconsole/latest/userguide/security_iam_id-based-policy-examples-connections.html#security_iam_id-based-policy-examples-connections-reposcope).

Vous pouvez suivre les étapes décrites dans cette rubrique pour supprimer votre action source GitHub (via OAuth l'application) et ajouter une action source GitHub (via GitHub l'application) depuis la CodePipeline console.

**Topics**
+ [Étape 1 : remplacez votre GitHub action (via OAuth l'application)](#connections-pipelines-github-action)
+ [Étape 2 : créer une connexion avec GitHub](#connections-pipelines-github-create)
+ [Étape 3 : Enregistrez votre action GitHub source](#connections-pipelines-github-save)

## Étape 1 : remplacez votre GitHub action (via OAuth l'application)
<a name="connections-pipelines-github-action"></a>

Utilisez la page d'édition du pipeline pour remplacer votre action (via OAuth l'application) par une GitHub action GitHub (via GitHub l'application).

**Pour remplacer votre GitHub action (via OAuth l'application)**

1. Connectez-vous à la CodePipeline console.

1. Choisissez votre pipeline, puis cliquez sur **Modifier**. Choisissez l'**étape Modifier** sur votre scène source. Un message s'affiche pour vous recommander de mettre à jour votre action.

1. 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-pipelines-github-create"></a>

Une fois que vous avez choisi de créer la connexion, la GitHub page **Connect to** s'affiche.

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

1. Dans **les paramètres de GitHub connexion**, le nom de votre connexion est affiché dans **Nom de la connexion**.

   Sous **GitHub Applications**, choisissez une installation d'application ou choisissez **Installer une nouvelle application** pour en créer une.
**Note**  
Installez une application pour toutes vos connexions à un fournisseur particulier. Si vous avez déjà installé l' GitHub application, choisissez-la et ignorez cette étape.

1. Si la page d'autorisation GitHub s'affiche, connectez-vous avec vos informations d'identification, puis choisissez de continuer.

1. Sur la page d'installation de l'application, un message indique que l' AWS CodeStar application essaie de se connecter à votre GitHub compte.
**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 AWS CodeStar page **Installer**, choisissez **Installer**.

1. Sur la GitHub page **Connect to**, l'ID de connexion de votre nouvelle installation s'affiche. Choisissez **Se connecter**.

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

Effectuez vos mises à jour sur la page **Modifier l'action** pour enregistrer votre nouvelle action source.

**Pour enregistrer votre action GitHub source**

1. Dans **Référentiel**, entrez le nom de votre référentiel tiers. Dans **Branche**, entrez la branche dans laquelle vous souhaitez que votre pipeline détecte les modifications de source.
**Note**  
Dans **Repository**, tapez `owner-name/repository-name` comme indiqué dans cet exemple :   

   ```
   my-account/my-repository
   ```

1. Dans **Format d'artefact de sortie**, choisissez 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 les 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. Dans **Artefacts de sortie**, vous pouvez conserver le nom de l'artefact de sortie pour cette action, par exemple`SourceArtifact`. Choisissez **OK** pour fermer la page **d'action Modifier**.

1. Choisissez **OK** pour fermer la page d'édition de l'étape. Choisissez **Enregistrer** pour fermer la page d'édition du pipeline.