GitHub et accès au serveur d' GitHub entreprise dans CodeBuild - AWS CodeBuild

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 et accès au serveur d' GitHub entreprise dans CodeBuild

En GitHub effet, vous pouvez utiliser un jeton d'accès personnel, une OAuth application, un secret du Gestionnaire de Secrets ou une connexion à une GitHub application pour accéder au fournisseur source. Pour GitHub Enterprise Server, vous pouvez utiliser un jeton d'accès personnel, un secret du Gestionnaire de Secrets ou une connexion GitHub App pour accéder au fournisseur source.

GitHub Connexions aux applications pour GitHub et GitHub Enterprise Server

Vous pouvez utiliser GitHub l'application pour vous connecter à CodeBuild. GitHub Les connexions aux applications sont prises en charge via AWS CodeConnections.

L'accès au fournisseur de source vous permet de déclencher une compilation en vous abonnant à GitHub événements webhook CreateWebhookusing ou Utilisez des coureurs d' GitHub actions auto-hébergés dans AWS CodeBuild en utilisant in CodeBuild.

Note

CodeConnections est disponible dans moins de régions que CodeBuild. Vous pouvez utiliser des connexions entre régions dans. CodeBuild Les connexions créées dans les régions optionnelles ne peuvent pas être utilisées dans d'autres régions. Pour plus d’informations, consultez Points de terminaison et quotas AWS CodeConnections.

Étape 1 : créer une connexion à GitHub l'application (console)

Suivez ces étapes pour utiliser la CodeBuild console afin d'ajouter une connexion pour votre projet dans GitHub.

Pour créer une connexion avec GitHub

Étape 2 : Accorder l'accès au IAM rôle du CodeBuild projet pour utiliser la connexion

Vous pouvez accorder l'accès aux IAM rôles du CodeBuild projet pour utiliser les GitHub jetons vendus par votre connexion.

Pour accorder l'accès aux IAM rôles CodeBuild du projet
  1. Créez un IAM rôle pour votre CodeBuild projet en suivant les instructions correspondant CodeBuild Autoriser l'interaction avec d'autres AWS services à votre CodeBuild projet.

  2. Tout en suivant les instructions, ajoutez la IAM politique suivante à votre rôle de CodeBuild projet pour autoriser l'accès à la connexion.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "codeconnections:GetConnectionToken", "codeconnections:GetConnection" ], "Resource": [ <connection-arn> ] } ] }

Étape 3 : configurer CodeBuild pour utiliser la nouvelle connexion

Vous pouvez configurer une connexion en tant qu'identifiant au niveau du compte et l'utiliser dans un projet.

AWS Management Console
Pour configurer une connexion en tant qu'identifiant au niveau du compte dans AWS Management Console
  1. Dans le champ Source provider, sélectionnez GitHub.

  2. Pour Credential, effectuez l'une des opérations suivantes :

    • Choisissez Informations d'identification source par défaut pour utiliser les informations d'identification source par défaut de votre compte pour les appliquer à tous les projets.

      1. Si vous n'êtes pas connecté à GitHub, choisissez Gérer les informations d'identification de source par défaut.

      2. Pour le type d'identifiant, choisissez GitHub App.

      3. Dans Connexion, choisissez d'utiliser une connexion existante ou d'en créer une nouvelle.

    • Choisissez Identifiant source personnalisé pour utiliser un identifiant source personnalisé afin de remplacer les paramètres par défaut de votre compte.

      1. Pour le type d'identifiant, choisissez GitHub App.

      2. Dans Connexion, choisissez d'utiliser une connexion existante ou d'en créer une nouvelle.

AWS CLI
Pour configurer une connexion en tant qu'identifiant au niveau du compte dans AWS CLI
  • Ouvrez une invite de terminal (Linux, macOS ou Unix) ou de commande (Windows). Utilisez le AWS CLI pour exécuter la import-source-credentials commande, en spécifiant le --auth-type--server-type, et --token pour votre connexion.

    Utilisez la commande suivante :

    aws codebuild import-source-credentials --auth-type CODECONNECTIONS --server-type GITHUB --token <connection-arn>

Vous pouvez également configurer plusieurs jetons pour vos CodeBuild projets. Pour de plus amples informations, veuillez consulter Configurer plusieurs jetons comme informations d'identification au niveau de la source.

GitHub et jeton d'accès au serveur GitHub Enterprise

Prérequis de jeton d'accès

Avant de commencer, vous devez ajouter les étendues d'autorisation appropriées à votre jeton GitHub d'accès.

En effet GitHub, votre jeton d'accès personnel doit avoir les champs d'application suivants.

  • repo : accorde un contrôle total des référentiels privés.

  • repo:status : accorde un accès en lecture/écriture aux statuts de validation des référentiels publics et privés.

  • admin:repo_hook : accorde le contrôle total des hooks de référentiel. Cette règle n'est pas obligatoire si votre jeton dispose de la règle repo.

  • admin:org_hook : accorde le contrôle total des hooks de l'organisation. Cette étendue n'est requise que si vous utilisez la fonctionnalité de webhook de l'organisation.

Pour plus d'informations, consultez la section Comprendre les étendues des OAuth applications sur le GitHub site Web.

Si vous utilisez des jetons d'accès personnels précis, selon votre cas d'utilisation, votre jeton d'accès personnel peut nécessiter les autorisations suivantes :

  • Contenu : Lecture seule : autorise l'accès aux référentiels privés. Cette autorisation est requise si vous utilisez des référentiels privés comme source.

  • Statuts de validation : lecture et écriture : accorde l'autorisation de créer des statuts de validation. Cette autorisation est requise si le webhook est configuré dans votre projet ou si la fonctionnalité d'état de création de rapports est activée.

  • Webhooks : lecture et écriture : accorde l'autorisation de gérer les webhooks. Cette autorisation est requise si le webhook est configuré dans votre projet.

  • Demandes d'extraction : en lecture seule : accorde l'autorisation d'accéder aux demandes d'extraction. Cette autorisation est requise si votre webhook possède un FILE_PATH filtre sur les événements de pull request.

  • Administration : lecture et écriture : cette autorisation est requise si vous utilisez la fonctionnalité GitHub Actions Runner auto-hébergée avec CodeBuild. Pour plus de détails, voir Créer un jeton d'enregistrement pour un référentiel etUtilisez des coureurs d' GitHub actions auto-hébergés dans AWS CodeBuild.

Note

Si vous souhaitez accéder aux référentiels de l'organisation, assurez-vous de spécifier l'organisation en tant que propriétaire de la ressource du jeton d'accès.

Pour plus d'informations, consultez la section Autorisations requises pour les jetons d'accès personnels détaillés sur le GitHub site Web.

Connect GitHub avec un jeton d'accès (console)

Pour utiliser la console afin de connecter votre projet à GitHub l'aide d'un jeton d'accès, procédez comme suit lorsque vous créez un projet. Pour plus d’informations, veuillez consulter Création d'un projet de génération (console).

  1. Dans le champ Source provider, sélectionnez GitHub.

  2. Pour Credential, effectuez l'une des opérations suivantes :

    • Choisissez Informations d'identification source par défaut pour utiliser les informations d'identification source par défaut de votre compte pour les appliquer à tous les projets.

      1. Si vous n'êtes pas connecté à GitHub, choisissez Gérer les informations d'identification de source par défaut.

      2. Pour le type d'identifiant, choisissez jeton d'accès personnel.

      3. Si vous avez choisi Identifiant source par défaut, dans Service, choisissez le service que vous souhaitez utiliser pour stocker votre jeton et procédez comme suit :

        • Si vous choisissez d'utiliser Secrets Manager, vous pouvez choisir d'utiliser une connexion secrète existante ou de créer un nouveau secret et choisir Enregistrer. Pour plus d'informations sur la création d'un nouveau secret, consultezCréez et stockez un jeton dans un secret du Gestionnaire de Secrets.

        • Si vous choisissez de l'utiliser CodeBuild, entrez votre jeton d'accès GitHub personnel et choisissez Enregistrer.

    • Choisissez Identifiant source personnalisé pour utiliser un identifiant source personnalisé afin de remplacer les paramètres par défaut de votre compte.

      1. Pour le type d'identifiant, choisissez jeton d'accès personnel.

      2. Dans Connexion, choisissez d'utiliser une connexion secrète existante ou d'en créer une nouvelle.

Connect GitHub avec un jeton d'accès (CLI)

Suivez ces étapes pour connecter votre projet AWS CLI à l' GitHub aide d'un jeton d'accès. Pour plus d'informations sur l'utilisation du AWS CLI with AWS CodeBuild, consultez leRéférence des commandes en ligne.

  1. Exécutez la commande import-source-credentials :

    aws codebuild import-source-credentials --generate-cli-skeleton

    JSON- les données formatées apparaissent dans la sortie. Copiez les données dans un fichier (par exemple,import-source-credentials.json) à un emplacement de l'ordinateur local ou de l'instance sur laquelle le AWS CLI est installé. Modifiez les données copiées comme suit, puis enregistrez vos résultats.

    { "serverType": "server-type", "authType": "auth-type", "shouldOverwrite": "should-overwrite", "token": "token", "username": "username" }

    Remplacez les éléments suivants :

    • server-type: valeur requise. Le fournisseur de source utilisé pour cette information d'identification. Les valeurs valides sont GITHUBBITBUCKET, GITHUB _ ENTERPRISEGITLAB, et GITLAB _ SELF _MANAGED.

    • auth-type: valeur requise. Type d'authentification utilisé pour se connecter à un référentiel. Les valeurs valides sont BASIC PERSONAL _ OAUTH AUTH TOKENCODECONNECTIONS, ACCESS _ _ et SECRETS _MANAGER. Car GitHub seul PERSONAL _ ACCESS _ TOKEN est autorisé. BASIC_ n'AUTHest autorisé qu'avec le mot de passe de l'application Bitbucket.

    • should-overwrite: valeur facultative. Définissez cette valeur sur false pour empêcher le remplacement des informations d'identification source du référentiel. Définissez cette valeur sur true pour remplacer les informations d'identification source du référentiel. La valeur par défaut est true.

    • token: valeur requise. Pour GitHub notre serveur d' GitHub entreprise, il s'agit du jeton d'accès personnel. Pour Bitbucket, il s'agit du jeton d'accès personnel ou du mot de passe de l'application. Pour le type d'authentificationCODECONNECTIONS, il s'agit de la connexion. ARN Pour le type d'authentification SECRETS _MANAGER, c'est le secret. ARN

    • username: valeur facultative. Ce paramètre est ignoré pour GitHub les fournisseurs de sources GitHub Enterprise Server.

  2. Pour vous connecter à votre compte avec un jeton d'accès, passez au répertoire contenant le fichier import-source-credentials.json que vous avez enregistré à l'étape 1 et exécutez à nouveau la commande import-source-credentials.

    aws codebuild import-source-credentials --cli-input-json file://import-source-credentials.json

    JSON-les données formatées apparaissent dans la sortie avec un Amazon Resource Name ()ARN.

    { "arn": "arn:aws:codebuild:region:account-id:token/server-type" }
    Note

    Si vous exécutez la commande import-source-credentials avec le même type de serveur et de auth une seconde fois, le jeton d'accès stocké est mis à jour.

    Une fois que votre compte est connecté par un jeton d'accès, vous pouvez l'utiliser create-project pour créer votre CodeBuild projet. Pour de plus amples informations, veuillez consulter Création d'un projet de génération (AWS CLI).

  3. Pour afficher les jetons d'accès connectés, exécutez la commande list-source-credentials.

    aws codebuild list-source-credentials

    Un sourceCredentialsInfos objet JSON formaté apparaît dans la sortie :

    { "sourceCredentialsInfos": [ { "authType": "auth-type", "serverType": "server-type", "arn": "arn" } ] }

    Le sourceCredentialsObject contient la liste des informations d'identification de la source connectée :

    • L'élément authType est le type d'authentification utilisé par les informations d'identification. Cela peut être OAUTHBASIC_AUTH,PERSONAL_ACCESS_TOKEN,CODECONNECTIONS, ouSECRETS_MANAGER.

    • Le serverType est le type de fournisseur de source. Cela peut être GITHUBGITHUB_ENTERPRISE,BITBUCKET,GITLAB, ouGITLAB_SELF_MANAGED.

    • arnC'est ARN le jeton.

  4. Pour vous déconnecter d'un fournisseur source et supprimer ses jetons d'accès, exécutez la delete-source-credentials commande avec sonARN.

    aws codebuild delete-source-credentials --arn arn-of-your-credentials

    JSON-les données formatées sont renvoyées avec l'une ARN des informations d'identification supprimées.

    { "arn": "arn:aws:codebuild:region:account-id:token/server-type" }

GitHub OAuthappli

Connect GitHub en utilisant OAuth (console)

Pour utiliser la console afin de connecter votre projet à GitHub une OAuth application, procédez comme suit lorsque vous créez un projet. Pour plus d’informations, veuillez consulter Création d'un projet de génération (console).

  1. Dans le champ Source provider, sélectionnez GitHub.

  2. Pour Credential, effectuez l'une des opérations suivantes :

    • Choisissez Informations d'identification source par défaut pour utiliser les informations d'identification source par défaut de votre compte pour les appliquer à tous les projets.

      1. Si vous n'êtes pas connecté à GitHub, choisissez Gérer les informations d'identification de source par défaut.

      2. Pour le type d'identifiant, choisissez OAuth.

      3. Si vous avez choisi Identifiant source par défaut, dans Service, choisissez le service que vous souhaitez utiliser pour stocker votre jeton et procédez comme suit :

        • Si vous choisissez d'utiliser Secrets Manager, vous pouvez choisir d'utiliser une connexion secrète existante ou de créer un nouveau secret et choisir Enregistrer. Pour plus d'informations sur la création d'un nouveau secret, consultezCréez et stockez un jeton dans un secret du Gestionnaire de Secrets.

        • Si vous choisissez de l'utiliser CodeBuild, continuez en choisissant Connect to GitHub.

    • Choisissez Identifiant source personnalisé pour utiliser un identifiant source personnalisé afin de remplacer les paramètres par défaut de votre compte.

      1. Pour le type d'identifiant, choisissez OAuth.

      2. Dans Connexion, choisissez d'utiliser une connexion secrète existante ou d'en créer une nouvelle.

Pour consulter vos OAuth applications autorisées, accédez à Applications activées GitHub et vérifiez qu'une application nommée AWS CodeBuild (region) appartenant à aws-codesuite est répertoriée.