View a markdown version of this page

Mettre à jour une action source GitHub (via l'application OAuth) en une action source GitHub (via GitHub l'application) - AWS CodePipeline

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 l'application OAuth) en une action source GitHub (via GitHub l'application)

Dans AWS CodePipeline, il existe deux versions prises en charge de l'action GitHub source :

  • Recommandé : L'action GitHub (via GitHub l'application) utilise une authentification GitHub basée sur l'application et soutenue par une CodeStarSourceConnection pour Bitbucket Cloud GitHub, GitHub Enterprise Server et GitLab.com les actions GitLab autogérées ressource. Il installe une application AWS CodeStar Connections dans votre GitHub organisation afin que vous puissiez gérer l'accès dans GitHub.

  • Déconseillé : l'action GitHub (via l'application OAuth) utilise des jetons OAuth pour s'authentifier GitHub et utilise un webhook distinct pour détecter les modifications. Cette méthode n'est plus 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 AWS GovCloud (US-West). Pour consulter les autres actions disponibles, consultezIntégrations de produits et de services avec CodePipeline. Pour les considérations relatives à cette action dans la région Europe (Milan), voir la note figurant dansCodeStarSourceConnection pour Bitbucket Cloud GitHub, GitHub Enterprise Server et GitLab.com les actions GitLab autogérées.

L'utilisation de l'action GitHub (via l' GitHub application) au lieu de l'action GitHub (via l'application OAuth) présente certains avantages importants :

  • Avec les connexions, vous CodePipeline n'avez plus besoin d'applications OAuth ni 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 auprès de votre GitHub référentiel et accorde des autorisations au niveau de l'organisation. Vous devez autoriser les jetons OAuth en tant qu'utilisateur pour accéder au référentiel. Pour plus d'informations sur OAuth-based GitHub l'accès par opposition à App-based GitHub l'accès, consultezhttps://docs.github.com/en/developers/apps/differences-between-github-apps-and-oauth-apps.

  • Lorsque vous gérez GitHub (via GitHub App) des actions dans l'interface de ligne de commande ou CloudFormation que 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 vos CodePipeline actions. Vous ajoutez plutôt l'ARN de connexion à votre configuration d'action. Pour un exemple de configuration d'action, consultezCodeStarSourceConnection pour Bitbucket Cloud GitHub, GitHub Enterprise Server et GitLab.com les actions GitLab autogérées.

  • Lorsque vous créez une ressource de connexion à utiliser avec votre action GitHub (via GitHub App) dans 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 l'application OAuth), vous ne pouvez télécharger que la source.

  • Un administrateur installe l'application pour les référentiels de votre organisation. Vous n'avez plus besoin de suivre les jetons OAuth 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é.

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

Étape 1 : remplacez votre action (via l'application OAuth) GitHub

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

Pour remplacer votre action (via l'application OAuth) GitHub
  1. Connectez-vous à la CodePipeline console.

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

  3. Dans le fournisseur d'actions, choisissez GitHub (via GitHub l'application).

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

Une fois que vous avez choisi de créer la connexion, la GitHub page Se connecter à s'affiche.

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.

    Sous GitHub Applications, choisissez l'installation d'une 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.

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

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

  4. Sur la AWS CodeStar page Installer, choisissez Installer.

  5. Sur la GitHub page Se connecter à, l'ID de connexion de votre nouvelle installation s'affiche. Choisissez Se connecter.

Étape 3 : Enregistrez votre action GitHub source

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 changements de source.

    Note

    Dans Repository, tapez owner-name/repository-name comme indiqué dans cet exemple :

    my-account/my-repository
  2. 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 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 les 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é dansAjoutez CodeBuild GitClone des autorisations pour les connexions à Bitbucket GitHub, GitHub Enterprise Server ou GitLab.com. Pour un didacticiel qui explique comment utiliser l'option de clonage complet, consultezTutoriel : Utiliser un clone complet avec une source de GitHub pipeline.

  3. Dans Artefacts de sortie, vous pouvez conserver le nom de l'artefact de sortie pour cette action, par exempleSourceArtifact. Choisissez Terminé pour fermer la page Modifier l'action.

  4. Choisissez Terminé pour fermer la page d'édition de la scène. Choisissez Enregistrer pour fermer la page de modification du pipeline.