GitHub Connexions aux serveurs d'entreprise - 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.

GitHub Connexions aux serveurs d'entreprise

Les connexions vous permettent d'autoriser et d'établir des configurations qui associent votre fournisseur tiers à vos AWS ressources. Pour associer votre référentiel tiers en tant que source de votre pipeline, vous utilisez une connexion.

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 (USA Ouest). Pour faire référence aux autres actions disponibles, voirIntégrations de produits et de services avec CodePipeline. Pour les considérations relatives à cette action dans la région Europe (Milan), voir la note dansCodeStarSourceConnection pour Bitbucket Cloud GitHub, GitHub Enterprise Server, GitLab .com et les actions GitLab autogérées.

Pour ajouter une action source GitHub Enterprise Server CodePipeline, vous pouvez choisir de :

Note

Vous pouvez également créer une connexion à l'aide de la console Developer Tools sous Paramètres. Voir Créer une connexion.

Avant de commencer :

  • Vous devez avoir créé un compte auprès GitHub d'Enterprise Server et installé l'instance GitHub d'Enterprise Server sur votre infrastructure.

    Note

    Chaque VPC ne peut être associé qu'à un seul hôte (instance de serveur GitHub d'entreprise) à la fois.

  • Vous devez déjà avoir créé un référentiel de code avec GitHub Enterprise Server.

Création d'une connexion à GitHub Enterprise Server (console)

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

Note

GitHub Les connexions Enterprise Server fournissent uniquement l'accès aux référentiels détenus par le compte GitHub Enterprise Server qui a été utilisé pour créer la connexion.

Avant de commencer :

Pour une connexion hôte à GitHub Enterprise Server, vous devez avoir effectué les étapes de création d'une ressource hôte pour votre connexion. Consultez la section Gérer les hôtes pour les connexions.

Étape 1 : créer ou modifier votre pipeline

Pour créer ou modifier votre pipeline
  1. Connectez-vous à la CodePipeline console.

  2. 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 Fournisseur de source, choisissez GitHub Enterprise Server.

    • 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, sélectionnez GitHub Enterprise Server.

  3. Effectuez l’une des actions suivantes :

    • Sous Connexion, si vous n'avez pas encore créé de connexion avec votre fournisseur, choisissez Connect to GitHub Enterprise Server. Passez à l'étape 2 : créer une connexion au serveur GitHub d'entreprise.

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

Création d'une connexion à GitHub Enterprise Server

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

Important

AWS CodeConnections ne prend pas en charge la version 2.22.0 d' GitHub Enterprise Server en raison d'un problème connu dans cette version. Pour vous connecter, effectuez une mise à niveau vers la version 2.22.1 ou vers la dernière version disponible.

Pour vous connecter à GitHub Enterprise Server
  1. Dans Connection name (Nom de la connexion), saisissez le nom de votre connexion.

  2. Dans URL, saisissez le point de terminaison de votre serveur.

    Note

    Si l'URL fournie a déjà été utilisée pour configurer un serveur d' GitHubentreprise pour une connexion, vous serez invité à choisir l'ARN de la ressource hôte créé précédemment pour ce point de terminaison.

  3. Si vous avez lancé votre serveur dans un VPC Amazon et que vous souhaitez vous connecter à votre VPC, choisissez Use a VPC (Utilisation d'un VPC) et complétez ce qui suit.

    1. Dans ID du VPC, choisissez votre ID de VPC. Assurez-vous de choisir le VPC pour l'infrastructure sur laquelle votre instance de serveur GitHub d'entreprise est installée ou un VPC avec accès à votre instance de serveur GitHub d'entreprise via VPN ou Direct Connect.

    2. Sous Subnet ID (ID de sous-réseau), choisissez Add (Ajouter). Dans le champ, choisissez l'ID de sous-réseau que vous souhaitez utiliser pour votre hôte. Vous pouvez choisir jusqu'à 10 sous-réseaux.

      Assurez-vous de choisir le sous-réseau pour l'infrastructure dans laquelle votre instance de serveur GitHub d'entreprise est installée ou un sous-réseau avec accès à votre instance de serveur GitHub d'entreprise installée via VPN ou Direct Connect.

    3. Sous Security group IDs (ID de groupe de sécurité), choisissez Add (Ajouter). Dans le champ, choisissez le groupe de sécurité que vous souhaitez utiliser pour votre hôte. Vous pouvez choisir jusqu'à 10 groupes de sécurité.

      Assurez-vous de choisir le groupe de sécurité pour l'infrastructure sur laquelle votre instance de serveur GitHub d'entreprise est installée ou un groupe de sécurité ayant accès à votre instance de serveur GitHub d'entreprise installée via VPN ou Direct Connect.

    4. Si vous avez configuré un VPC privé et que vous avez configuré votre instance de serveur GitHub d'entreprise pour effectuer une validation TLS à l'aide d'une autorité de certification non publique, dans Certificat TLS, entrez votre ID de certificat. La valeur du certificat TLS doit être la clé publique du certificat.

      Capture d'écran de la console montrant la page de création GitHub d'une connexion au serveur d'entreprise pour les options VPC.
  4. Choisissez Connect to GitHub Enterprise Server. La connexion créée s'affiche avec le statut En attente. Une ressource hôte est créée pour la connexion avec les informations de serveur que vous avez fournies. Pour le nom d'hôte, l'URL est utilisée.

  5. Choisissez Update pending connection (Mettre à jour la connexion en attente).

  6. Si vous y êtes invité, sur la page de connexion GitHub Enterprise, connectez-vous avec vos informations GitHub d'identification Enterprise.

  7. Sur la page Créer une GitHub application, choisissez un nom pour votre application.

  8. Sur la page GitHub d'autorisation, choisissez Autoriser<app-name>.

  9. Sur la page d'installation de l'application, un message indique que l'application Connector est prête à être installée. Si vous avez plusieurs organisations, vous pouvez être invité à choisir l'organisation dans laquelle vous souhaitez installer l'application.

    Choisissez les paramètres du référentiel dans lesquels vous souhaitez installer l'application. Choisissez Installer.

  10. La page de connexion affiche la connexion créée avec un statut Disponible.

Étape 3 : enregistrer l'action source de votre serveur d' GitHub entreprise

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

Pour terminer et enregistrer votre action source avec votre connexion
  1. Dans Nom du référentiel, choisissez le nom de votre référentiel tiers.

  2. 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 sectionFiltrer les déclencheurs sur les requêtes push ou pull de code.

  3. Dans Output artifact format (Format d'artefact de sortie), vous devez choisir le format de vos artefacts.

    • Pour stocker les artefacts de sortie issus de l'action GitHub Enterprise Server à l'aide de la méthode par défaut, choisissez CodePipelinepar défaut. L'action accède aux fichiers depuis le référentiel GitHub Enterprise Server 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.

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

Création d'un hôte et d'une connexion à GitHub Enterprise Server (CLI)

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 état par défaut. Après avoir créé une connexion avec la CLI AWS CloudFormation, utilisez la console pour modifier la connexion afin de définir son étatAVAILABLE.

Vous pouvez utiliser le AWS Command Line Interface (AWS CLI) pour créer un hôte pour les connexions installées.

Note

Vous ne créez un hôte qu'une seule fois par compte GitHub Enterprise Server. Toutes vos connexions à un compte GitHub Enterprise Server spécifique utiliseront le même hôte.

Vous utilisez un hôte pour représenter le point de terminaison de l'infrastructure sur laquelle votre fournisseur tiers est installé. Une fois que vous avez terminé la création de l'hôte avec la CLI, l'hôte est en attente. Vous configurez ou enregistrez ensuite l'hôte pour le faire passer au statut Disponible. Une fois l'hôte disponible, procédez comme suit pour créer une connexion.

Pour ce faire, utilisez la commande create-host.

Important

Un hôte créé via le AWS CLI est en Pending statut par défaut. Après avoir créé un hôte à l'aide de la CLI, utilisez la console ou l'interface de ligne de commande pour configurer l'hôte afin qu'il définisse son statutAvailable.

Pour créer un hôte
  1. Ouvrez une invite de terminal (Linux, macOS ou Unix) ou de commande (Windows). Utilisez le AWS CLI pour exécuter la create-host commande, en spécifiant le --name--provider-type, et --provider-endpoint pour votre connexion. Dans cet exemple, le nom du fournisseur tiers est GitHubEnterpriseServer et le point de terminaison est my-instance.dev.

    aws codestar-connections create-host --name MyHost --provider-type GitHubEnterpriseServer --provider-endpoint "https://my-instance.dev"

    En cas de succès, cette commande renvoie les informations Amazon Resource Name (ARN) hôte semblables à ce qui suit.

    { "HostArn": "arn:aws:codestar-connections:us-west-2:account_id:host/My-Host-28aef605" }

    Après cette étape, l'hôte présente l'état PENDING.

  2. Utilisez la console pour terminer la configuration de l'hôte et passer l'hôte vers l'état Available.

Pour créer une connexion à GitHub Enterprise Server
  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 --host-arn et --connection-name pour votre connexion.

    aws codestar-connections create-connection --host-arn arn:aws:codestar-connections:us-west-2:account_id:host/MyHost-234EXAMPLE --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" }
  2. Utilisez la console pour configurer la connexion en attente.

  3. 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 dansFiltrer les déclencheurs sur les requêtes push ou pull de code. 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" ] } } ] } } ]