CodeStarSourceConnection pour Bitbucket Cloud GitHub, GitHub Enterprise Server, GitLab .com et les actions GitLab autogérées - 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.

CodeStarSourceConnection pour Bitbucket Cloud GitHub, GitHub Enterprise Server, GitLab .com et les actions GitLab autogérées

Les actions source pour les connexions sont prises en charge par AWS CodeConnections. CodeConnections vous permet de créer et de gérer des connexions entre AWS des ressources et des référentiels tiers tels que GitHub. Démarre un pipeline lorsqu'un nouveau commit est effectué sur un référentiel de code source tiers. L'action source récupère les modifications de code lorsqu'un pipeline est exécuté manuellement ou lorsqu'un événement webhook est envoyé par le fournisseur source.

Vous pouvez configurer des actions dans votre pipeline pour utiliser une configuration Git qui vous permet de démarrer votre pipeline avec des déclencheurs. 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.

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.

Les connexions peuvent associer vos AWS ressources aux référentiels tiers suivants :

  • Bitbucket Cloud (via l'option fournisseur Bitbucket dans la CodePipeline console ou le Bitbucket fournisseur dans la CLI)

    Note

    Vous pouvez créer des connexions à un référentiel Bitbucket Cloud. Les types de fournisseurs Bitbucket installés, tels que Bitbucket Server, ne sont pas pris en charge.

  • Note

    Si vous utilisez un espace de travail Bitbucket, vous devez disposer d'un accès administrateur pour créer la connexion.

  • GitHub et GitHub Enterprise Cloud (via l'option fournisseur GitHub (version 2) dans la CodePipeline console ou le GitHub fournisseur dans la CLI)

    Note

    Si votre référentiel se trouve dans une GitHub organisation, vous devez être le propriétaire de l'organisation pour créer la connexion. Si vous utilisez un référentiel qui n'appartient pas à une organisation, vous devez en être le propriétaire.

  • GitHub Enterprise Server (via l'option du fournisseur GitHub Enterprise Server dans la CodePipeline console ou le GitHub Enterprise Server fournisseur dans la CLI)

  • GitLab.com (via l'option GitLabprovider dans la CodePipeline console ou le GitLab provider dans la CLI)

    Note

    Vous pouvez créer des connexions à un référentiel dans lequel vous avez le rôle de propriétaire GitLab, puis la connexion peut être utilisée avec le référentiel avec des ressources telles que CodePipeline. Pour les référentiels dans des groupes, il n'est pas nécessaire d'être le propriétaire du groupe.

  • Installation autogérée pour GitLab (Enterprise Edition ou Community Edition) (via l'option fournisseur GitLab autogéré dans la CodePipeline console ou le GitLabSelfManaged fournisseur dans la CLI)

Note

Chaque connexion prend en charge tous les référentiels que vous avez auprès de ce fournisseur. Il vous suffit de créer une nouvelle connexion pour chaque type de fournisseur.

Les connexions permettent à votre pipeline de détecter les modifications de source via l'application d'installation du fournisseur tiers. Par exemple, les webhooks sont utilisés pour s'abonner à des types d' GitHub événements et peuvent être installés sur une organisation, un référentiel ou une GitHub application. Votre connexion installe un webhook de référentiel sur votre GitHub application qui s'abonne aux événements de type GitHub push.

Une fois qu'une modification de code est détectée, vous disposez des options suivantes pour transmettre le code aux actions suivantes :

  • Par défaut : comme les autres actions CodePipeline source existantes, CodeStarSourceConnection vous pouvez générer un fichier ZIP avec une copie superficielle de votre commit.

  • Clone complet : CodeStarSourceConnection peut également être configuré pour générer une référence URL vers le dépôt pour les actions suivantes.

    Actuellement, la référence d'URL Git ne peut être utilisée que par des CodeBuild actions en aval pour cloner le dépôt et les métadonnées Git associées. Toute tentative de transmission d'une référence d'URL Git à CodeBuild des non-actions entraîne une erreur.

CodePipeline vous invite à ajouter l'application d'installation AWS Connector à votre compte tiers lorsque vous créez une connexion. Vous devez déjà avoir créé votre compte de fournisseur tiers et votre référentiel avant de pouvoir vous connecter via l'CodeStarSourceConnectionaction.

Note

Pour créer ou associer une politique à votre rôle avec les autorisations requises pour utiliser les AWS CodeStar connexions, consultez la section Référence des autorisations des connexions. Selon la date de création CodePipeline de votre rôle de service, vous devrez peut-être mettre à jour ses autorisations pour prendre en charge AWS CodeStar les connexions. Pour obtenir des instructions, veuillez consulter Ajout d'autorisations au rôle de service CodePipeline.

Note

Pour utiliser les connexions en Europe (Milan) Région AWS, vous devez :

  1. Installer une application spécifique à la région

  2. Activer la région

Cette application spécifique à la région prend en charge les connexions dans la région Europe (Milan). Elle est publiée sur le site du fournisseur tiers et est distincte de l'application existante qui prend en charge les connexions pour d'autres régions. En installant cette application, vous autorisez les fournisseurs tiers à partager vos données avec le service pour cette région uniquement et vous pouvez révoquer les autorisations à tout moment en désinstallant l'application.

Le service ne traitera ni ne stockera vos données à moins que vous n'activiez la région. En activant cette région, vous autorisez notre service à traiter et à stocker vos données.

Même si la région n'est pas activée, les fournisseurs tiers peuvent toujours partager vos données avec notre service si l'application spécifique à la région reste installée. Veillez donc à désinstaller l'application une fois que vous avez désactivé la région. Pour plus d'informations, consultez Activer une région.

Type d'action

  • Catégorie : Source

  • Propriétaire : AWS

  • Fournisseur : CodeStarSourceConnection

  • Version : 1

Paramètres de configuration

ConnectionArn

Obligatoire : oui

ARN de connexion qui est configuré et authentifié pour le fournisseur de source.

FullRepositoryId

Obligatoire : oui

Propriétaire et nom du référentiel où les modifications de la source doivent être détectées.

Exemple : some-user/my-repo

Important

Vous devez conserver la bonne majuscule pour la FullRepositoryIdvaleur. Par exemple, si votre nom d'utilisateur est some-user et que le nom du dépôt l'estMy-Repo, la valeur recommandée FullRepositoryIdestsome-user/My-Repo.

BranchName

Obligatoire : oui

Nom de la branche où les modifications de la source doivent être détectées.

OutputArtifactFormat

Obligatoire : non

Spécifie le format de l'artefact de sortie. Peut avoir la valeur CODEBUILD_CLONE_REF ou CODE_ZIP. Si aucune valeur n'est spécifiée, la valeur par défaut est CODE_ZIP.

Important

L'CODEBUILD_CLONE_REFoption ne peut être utilisée que par des 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é dansAjoutez CodeBuild GitClone des autorisations pour les connexions à Bitbucket GitHub, GitHub Enterprise Server ou .com GitLab. Pour consulter un didacticiel expliquant comment utiliser l'option de clonage complet, voirTutoriel : Utiliser un clone complet avec une source de GitHub pipeline.

DetectChanges

Obligatoire : non

Contrôle le démarrage automatique de votre pipeline lorsqu'un nouveau commit est effectué sur le référentiel et la branche configurés. Si ce n'est pas spécifié, la valeur par défaut esttrue, et le champ ne s'affiche pas par défaut. Valeurs valides pour ce paramètre :

  • true: démarre CodePipeline automatiquement votre pipeline lors de nouvelles validations.

  • false: CodePipeline ne démarre pas votre pipeline lors de nouveaux commits.

Artefacts d'entrée

  • Nombre d'objets : 0

  • Description : Les artefacts d'entrée ne s'appliquent pas à ce type d'action.

Artefacts de sortie

  • Nombre d'objets : 1

  • Description : Les artefacts générés à partir du référentiel sont les artefacts de sortie de l'action CodeStarSourceConnection. L'ID de validation du code source est affiché en CodePipeline tant que révision source pour l'exécution du pipeline déclenchée. Vous pouvez configurer l'artefact de sortie de cette action dans :

    • Un fichier ZIP qui regroupe le contenu du référentiel et de la branche configurés au moment de la validation spécifiée comme révision source pour l'exécution du pipeline.

    • Un fichier JSON qui contient une référence d'URL au référentiel afin que les actions en aval puissent exécuter directement les commandes Git.

      Important

      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 associées à votre rôle de service de CodeBuild projet, comme indiqué dansRésolution des problèmes CodePipeline. Pour consulter un didacticiel expliquant comment utiliser l'option de clonage complet, voirTutoriel : Utiliser un clone complet avec une source de GitHub pipeline.

Variables de sortie

Lorsque cette action est configurée, elle produit des variables qui peuvent être référencées par la configuration d'action d'une action en aval dans le pipeline. Cette action produit des variables qui peuvent être visualisées en tant que variables de sortie, même si l'action n'a pas d'espace de noms. Vous configurez une action avec un espace de noms pour rendre ces variables disponibles pour la configuration des actions en aval.

Pour plus d’informations, consultez Référence aux variables.

AuthorDate

Date à laquelle la validation a été créée, au format horodatage.

BranchName

Nom de la branche du référentiel où la modification de la source a été effectuée.

CommitId

ID de validation ayant déclenché l'exécution du pipeline.

CommitMessage

Message de description, le cas échéant, associé à la validation ayant déclenché l'exécution du pipeline.

ConnectionArn

ARN de connexion qui est configuré et authentifié pour le fournisseur de source.

FullRepositoryName

Nom du référentiel où la validation ayant déclenché le pipeline a été effectuée.

Déclaration d'action

Dans l'exemple suivant, l'artefact de sortie est défini au format ZIP par défaut CODE_ZIP pour la connexion avec l'ARNarn:aws:codestar-connections:region:account-id:connection/connection-id.

YAML
Name: Source Actions: - InputArtifacts: [] ActionTypeId: Version: '1' Owner: AWS Category: Source Provider: CodeStarSourceConnection OutputArtifacts: - Name: SourceArtifact RunOrder: 1 Configuration: ConnectionArn: "arn:aws:codestar-connections:region:account-id:connection/connection-id" FullRepositoryId: "some-user/my-repo" BranchName: "main" OutputArtifactFormat: "CODE_ZIP" Name: ApplicationSource
JSON
{ "Name": "Source", "Actions": [ { "InputArtifacts": [], "ActionTypeId": { "Version": "1", "Owner": "AWS", "Category": "Source", "Provider": "CodeStarSourceConnection" }, "OutputArtifacts": [ { "Name": "SourceArtifact" } ], "RunOrder": 1, "Configuration": { "ConnectionArn": "arn:aws:codestar-connections:region:account-id:connection/connection-id", "FullRepositoryId": "some-user/my-repo", "BranchName": "main", "OutputArtifactFormat": "CODE_ZIP" }, "Name": "ApplicationSource" } ] },

Installation de l'application d'installation et création d'une connexion

La première fois que vous utilisez la console pour ajouter une nouvelle connexion à un référentiel tiers, vous devez autoriser CodePipeline l'accès à vos référentiels. Vous choisissez ou créez une application d'installation qui vous aide à vous connecter au compte sur lequel vous avez créé votre référentiel de codes tiers.

Lorsque vous utilisez le modèle AWS CLI ou un AWS CloudFormation modèle, vous devez fournir l'ARN de connexion d'une connexion déjà passée par le handshake d'installation. Sinon, le pipeline n'est pas déclenché.

Note

Pour une action CodeStarSourceConnection source, il n'est pas nécessaire de configurer un webhook ou d'effectuer un sondage par défaut. L'action Connexions gère pour vous la détection de votre changement de source.

Les ressources connexes suivantes peuvent s'avérer utiles dans le cadre de l'utilisation de cette action.

  • AWS::CodeStarConnections::Connection— La référence de AWS CloudFormation modèle pour la ressource AWS CodeStar Connections fournit des paramètres et des exemples de connexions dans AWS CloudFormation des modèles.

  • AWS CodeStarRéférence de l'API AWS CodeStar Connections — La référence de l'API Connections fournit des informations de référence pour les actions de connexion disponibles.

  • Pour connaître les étapes de création d'un pipeline avec des actions source prises en charge par des connexions, consultez les pages suivantes :

    • Pour Bitbucket Cloud, utilisez l'option Bitbucket dans la console ou l'CodestarSourceConnectionaction dans la CLI. veuillez consulter Connexions Bitbucket Cloud.

    • Pour GitHub et GitHub Enterprise Cloud, utilisez l'option GitHubfournisseur dans la console ou l'CodestarSourceConnectionaction dans la CLI. veuillez consulter GitHub connexions.

    • Pour GitHub Enterprise Server, utilisez l'option du fournisseur GitHub Enterprise Server dans la console ou l'CodestarSourceConnectionaction dans la CLI. veuillez consulter GitHub Connexions aux serveurs d'entreprise.

    • Pour GitLab .com, utilisez l'option GitLabprovider dans la console ou l'CodestarSourceConnectionaction avec le GitLab fournisseur dans la CLI. veuillez consulter GitLabconnexions .com.

  • Pour consulter un didacticiel de démarrage qui crée un pipeline avec une source Bitbucket et une CodeBuild action, consultez Getting started with connections.

  • Pour un didacticiel expliquant comment se connecter à un GitHub référentiel et utiliser l'option Clonage complet avec une CodeBuild action en aval, voirTutoriel : Utiliser un clone complet avec une source de GitHub pipeline.