Ajouter un déclencheur avec des types d'événements de type code push ou pull request - 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.

Ajouter un déclencheur avec des types d'événements de type code push ou pull request

Vous pouvez configurer des filtres pour les déclencheurs de pipeline afin de lancer l'exécution du pipeline pour différents événements Git, tels que le push de balises ou de branches, la modification de chemins de fichiers spécifiques, l'ouverture d'une pull request dans une branche spécifique, etc. Vous pouvez utiliser la AWS CodePipeline console ou les update-pipeline commandes create-pipeline et contenues dans le AWS CLI pour configurer les filtres de déclenchement.

Note

Le BranchName champ de configuration des actions définit une branche unique, tandis que les déclencheurs avec filtres peuvent être utilisés pour toutes les branches que vous spécifiez. Pour un pipeline dans lequel des déclencheurs sont utilisés pour filtrer les branches par requête push ou pull, le pipeline n'utilisera pas la branche de BranchName champ par défaut dans la configuration de l'action. Cependant, la branche du BranchName champ dans la configuration de l'action est la branche par défaut lorsque le pipeline est démarré manuellement. Pour obtenir un exemple, consultez 5 : Déclencheur configuré alors que la configuration d'action par défaut BranchName est utilisée pour un démarrage manuel.

Vous pouvez définir des filtres pour les types de déclencheurs suivants :

  • Push

    Un déclencheur push démarre un pipeline lorsqu'une modification est transmise à votre référentiel source. L'exécution utilisera le commit de la branche vers laquelle vous pointez (c'est-à-dire la branche de destination). Vous pouvez filtrer les déclencheurs push sur les branches, les chemins de fichiers ou les balises Git.

  • Pull request

    Un déclencheur de pull request démarre un pipeline lorsqu'une pull request est ouverte, mise à jour ou fermée dans votre référentiel source. L'exécution utilisera le commit de la branche source que vous extrayez (c'est-à-dire la branche source). Vous pouvez filtrer les déclencheurs de pull request sur les branches et les chemins de fichiers.

    Les types d'événements pris en charge pour les pull requests sont les suivants. Tous les autres événements de pull request sont ignorés.

    • Ouvert

    • Mis à jour

    • Fermé (fusionné)

    Note

    Le comportement de certains événements de pull request peut varier d'un fournisseur à l'autre. Pour plus de détails, consultez Événements de pull request pour les déclencheurs par fournisseur.

La définition du pipeline vous permet de combiner différents filtres au sein d'une même configuration de déclencheur push. Pour plus de détails sur la définition du pipeline, voirAjouter des filtres pour les types d'événements Push et Pull Request (CLI).

Ajouter des filtres pour les types d'événements de type push et pull request (console)

Vous pouvez utiliser la console pour ajouter des filtres pour les événements push et inclure ou exclure des branches ou des chemins de fichiers.

Ajouter des filtres (console)
  1. Connectez-vous à la CodePipeline console AWS Management Console et ouvrez-la à l'adresse http://console.aws.amazon. com/codesuite/codepipeline/home.

    Les noms et le statut de tous les pipelines associés à votre AWS compte sont affichés.

  2. Dans Name, choisissez le nom du pipeline que vous souhaitez modifier. Sinon, suivez ces étapes dans l'assistant de création de pipeline.

  3. Sur la page des détails du pipeline, choisissez Edit.

  4. Sur la page Modifier, choisissez l'action source que vous souhaitez modifier. Choisissez Modifier les déclencheurs. Choisissez Spécifier le filtre.

  5. Dans Type d'événement, choisissez Push parmi les options suivantes.

    • Choisissez Push pour démarrer le pipeline lorsqu'une modification est transmise à votre référentiel source. Cette option permet aux champs de spécifier des filtres pour les branches, les chemins de fichiers ou les balises Git.

    • Choisissez Pull request pour démarrer le pipeline lorsqu'une pull request est ouverte, mise à jour ou fermée dans votre référentiel source. Cette option permet aux champs de spécifier des filtres pour les branches de destination et les chemins de fichiers.

  6. Sous Push, dans Type de filtre, choisissez l'une des options suivantes.

    • Choisissez Branch pour spécifier les branches de votre référentiel source que le déclencheur surveille afin de savoir quand démarrer une exécution de flux de travail. Dans Inclure, entrez les modèles de noms de branches au format global que vous souhaitez spécifier pour la configuration du déclencheur afin de démarrer votre pipeline en cas de modification des branches spécifiées. Dans Exclure, entrez les modèles d'expression régulière pour les noms de branches au format global que vous souhaitez spécifier pour que la configuration du déclencheur soit ignorée et pour ne pas démarrer votre pipeline lorsque des modifications sont apportées aux branches spécifiées. Pour plus d’informations, consultez Utilisation de modèles globulaires dans la syntaxe.

      Note

      Si l'inclusion et l'exclusion ont toutes deux le même modèle, le modèle par défaut est d'exclure le modèle.

      Vous pouvez utiliser des modèles globaux pour définir les noms de vos succursales. Par exemple, utilisez main* pour faire correspondre toutes les branches commençant parmain. Pour plus d’informations, consultez Utilisation de modèles globulaires dans la syntaxe.

      Pour un déclencheur, spécifiez les branches vers lesquelles vous poussez, c'est-à-dire les branches de destination. Pour un déclencheur de pull request, spécifiez les branches de destination auxquelles vous ouvrez une pull request.

    • (Facultatif) Sous Chemins de fichier, spécifiez les chemins de fichier pour votre déclencheur. Entrez les noms dans Inclure et Exclure, le cas échéant.

      Vous pouvez utiliser des modèles globaux pour définir les noms de chemin de vos fichiers. Par exemple, prod* à utiliser pour faire correspondre tous les chemins de fichiers commençant parprod. Pour plus d’informations, consultez Utilisation de modèles globulaires dans la syntaxe.

    • Choisissez Tags pour configurer la configuration du déclencheur du pipeline afin de commencer par les balises Git. Dans Inclure, entrez les modèles de noms de balises au format global que vous souhaitez spécifier pour la configuration du déclencheur afin de démarrer votre pipeline lors de la publication de la ou des balises spécifiées. Dans Exclure, entrez les modèles d'expression régulière pour les noms de balises au format global que vous souhaitez spécifier pour que la configuration du déclencheur soit ignorée et pour ne pas démarrer votre pipeline lors de la publication de la ou des balises spécifiées. Si l'inclusion et l'exclusion ont le même modèle de balise, le modèle de balise par défaut est d'exclure le modèle de balise.

  7. Sous Push, dans Type de filtre, choisissez l'une des options suivantes.

    • Choisissez Branch pour spécifier les branches de votre référentiel source que le déclencheur surveille afin de savoir quand démarrer une exécution de flux de travail. Dans Inclure, entrez les modèles de noms de branches au format global que vous souhaitez spécifier pour la configuration du déclencheur afin de démarrer votre pipeline en cas de modification des branches spécifiées. Dans Exclure, entrez les modèles d'expression régulière pour les noms de branches au format global que vous souhaitez spécifier pour que la configuration du déclencheur soit ignorée et pour ne pas démarrer votre pipeline lorsque des modifications sont apportées aux branches spécifiées. Pour plus d’informations, consultez Utilisation de modèles globulaires dans la syntaxe.

      Note

      Si l'inclusion et l'exclusion ont toutes deux le même modèle, le modèle par défaut est d'exclure le modèle.

      Vous pouvez utiliser des modèles globaux pour définir les noms de vos succursales. Par exemple, utilisez main* pour faire correspondre toutes les branches commençant parmain. Pour plus d’informations, consultez Utilisation de modèles globulaires dans la syntaxe.

      Pour un déclencheur, spécifiez les branches vers lesquelles vous poussez, c'est-à-dire les branches de destination. Pour un déclencheur de pull request, spécifiez les branches de destination auxquelles vous ouvrez une pull request.

    • (Facultatif) Sous Chemins de fichier, spécifiez les chemins de fichier pour votre déclencheur. Entrez les noms dans Inclure et Exclure, le cas échéant.

      Vous pouvez utiliser des modèles globaux pour définir les noms de chemin de vos fichiers. Par exemple, prod* à utiliser pour faire correspondre tous les chemins de fichiers commençant parprod. Pour plus d’informations, consultez Utilisation de modèles globulaires dans la syntaxe.

    • Choisissez Pull request pour configurer la configuration du déclencheur du pipeline afin de commencer par les événements de pull request que vous spécifiez.

Ajouter des filtres pour les types d'événements Push et Pull Request (CLI)

Vous pouvez mettre à jour le JSON du pipeline pour ajouter des filtres pour les déclencheurs.

Pour créer ou mettre AWS CLI à jour votre pipeline, utilisez la update-pipeline commande create-pipeline or.

L'exemple de structure JSON suivant fournit une référence pour les définitions de champs ci-dessouscreate-pipeline.

{ "pipeline": { "name": "MyServicePipeline", "triggers": [ { "provider": "Connection", "gitConfiguration": { "sourceActionName": "ApplicationSource", "push": [ { "filePaths": { "includes": [ "projectA/**", "common/**/*.js" ], "excludes": [ "**/README.md", "**/LICENSE", "**/CONTRIBUTING.md" ] }, "branches": { "includes": [ "feature/**", "release/**" ], "excludes": [ "mainline" ] }, "tags": { "includes": [ "release-v0", "release-v1" ], "excludes": [ "release-v2" ] } } ], "pullRequest": [ { "events": [ "CLOSED" ], "branches": { "includes": [ "feature/**", "release/**" ], "excludes": [ "mainline" ] }, "filePaths": { "includes": [ "projectA/**", "common/**/*.js" ], "excludes": [ "**/README.md", "**/LICENSE", "**/CONTRIBUTING.md" ] } } ] } } ], "stages": [ { "name": "Source", "actions": [ { "name": "ApplicationSource", "configuration": { "BranchName": "mainline", "ConnectionArn": "arn:aws:codestar-connections:eu-central-1:111122223333:connection/fe9ff2e8-ee25-40c9-829e-65f8EXAMPLE", "FullRepositoryId": "monorepo-example", "OutputArtifactFormat": "CODE_ZIP" } } ] } ] } }

Ajouter des filtres pour les types d'événements de type push et pull request (AWS CloudFormation modèles)

Vous pouvez mettre à jour la ressource du pipeline AWS CloudFormation pour ajouter un filtrage par déclencheur.

L'exemple d'extrait de modèle suivant fournit une référence YAML pour les définitions de champs de déclencheurs. Pour obtenir la liste des définitions de champs, voirAjouter des filtres pour les types d'événements Push et Pull Request (CLI).

pipeline: name: MyServicePipeline executionMode: PARALLEL triggers: - provider: CodeConnection gitConfiguration: sourceActionName: ApplicationSource push: - filePaths: includes: - projectA/** - common/**/*.js excludes: - '**/README.md' - '**/LICENSE' - '**/CONTRIBUTING.md' branches: includes: - feature/** - release/** excludes: - mainline - tags: includes: - release-v0 - release-v1 excludes: - release-v2 pullRequest: - events: - CLOSED branches: includes: - feature/** - release/** excludes: - mainline filePaths: includes: - projectA/** - common/**/*.js excludes: - '**/README.md' - '**/LICENSE' - '**/CONTRIBUTING.md' stages: - name: Source actions: - name: ApplicationSource configuration: BranchName: mainline ConnectionArn: arn:aws:codestar-connections:eu-central-1:111122223333:connection/fe9ff2e8-ee25-40c9-829e-65f85EXAMPLE FullRepositoryId: monorepo-example OutputArtifactFormat: CODE_ZIP