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 que les exécutions de pipeline démarrent pour différents événements Git, tels que l'envoi de balises ou de branches, la modification de chemins de fichiers spécifiques, l'ouverture d'une demande d'extraction dans une branche spécifique, etc. Vous pouvez utiliser la AWS CodePipeline console ou les update-pipeline commandes create-pipeline et du AWS CLI pour configurer les filtres de déclenchement.
Note
Le BranchName champ de configuration des actions définit une seule branche, tandis que les déclencheurs dotés de filtres peuvent être utilisés pour n'importe quelle branche ou branches que vous spécifiez. Pour un pipeline où 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 dans le BranchName champ de 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 spécifier des filtres pour les types de déclencheurs suivants :
-
Push
Un déclencheur permet de démarrer un pipeline lorsqu'une modification est envoyée à votre référentiel source. L'exécution utilisera le commit de la branche vers laquelle vous poussez (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 depuis laquelle vous extrayez (c'est-à-dire la branche source). Vous pouvez filtrer les déclencheurs de demandes d'extraction 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 en savoir plus, 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éclenchement par pression. Pour plus de détails sur la définition du pipeline, consultezAjouter des filtres pour les types d'événements de requêtes push et pull (CLI). Pour obtenir la liste des définitions de champs, voir les déclencheurs dans la référence sur la structure du pipeline de ce guide.
Rubriques
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)
Connectez-vous à Console de gestion AWS et ouvrez la CodePipeline console à l'adresse http://console.aws.amazon.com/codesuite/codepipeline/home
. Les noms et l'état de tous les pipelines associés à votre AWS compte sont affichés.
-
Dans Name, choisissez le nom du pipeline que vous souhaitez modifier. Sinon, procédez comme suit dans l'assistant de création de pipeline.
-
Sur la page des détails du pipeline, choisissez Edit.
-
Sur la page Modifier, choisissez l'action source que vous souhaitez modifier. Choisissez Modifier les déclencheurs. Choisissez Spécifier le filtre.
-
Dans Type d'événement, choisissez Push parmi les options suivantes.
-
Choisissez Push pour démarrer le pipeline lorsqu'une modification est envoyée à votre référentiel source. Cette option permet aux champs de spécifier des filtres pour les branches et 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.
-
-
Sous Push, dans Type de filtre, choisissez l'une des options suivantes.
-
Choisissez Branche pour spécifier les branches de votre référentiel source que le déclencheur surveille afin de savoir quand démarrer l'exécution d'un flux de travail. Dans Include, entrez des modèles pour les 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'expressions régulières pour les noms de branches au format global que vous souhaitez spécifier pour que la configuration du déclencheur les ignore et ne démarre pas votre pipeline en cas de modification des branches spécifiées. Pour plus d’informations, consultez Utilisation de modèles globulaires dans la syntaxe.
Note
Si les options d'inclusion et d'exclusion ont toutes deux le même modèle, la valeur par défaut est d'exclure le modèle.
Vous pouvez utiliser des modèles globulaires pour définir les noms de vos branches. 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 appuyez, c'est-à-dire les branches de destination. Pour un déclencheur de pull request, spécifiez les branches de destination vers lesquelles vous ouvrez une pull request.
-
(Facultatif) Sous Chemins de fichiers, spécifiez les chemins de fichier pour votre déclencheur. Entrez les noms dans Inclure et Exclure, selon le cas.
Vous pouvez utiliser des modèles globaux pour définir les noms de chemins de vos fichiers. Par exemple, utilisez pour
prod*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 Include, entrez des modèles pour les 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 ignore et ne démarre pas votre pipeline lors de la publication de la ou des balises spécifiées. Si les options d'inclusion et d'exclusion ont toutes deux le même modèle de balise, la valeur par défaut est d'exclure le modèle de balise.
-
-
Sous Push, dans Type de filtre, choisissez l'une des options suivantes.
-
Choisissez Branche pour spécifier les branches de votre référentiel source que le déclencheur surveille afin de savoir quand démarrer l'exécution d'un flux de travail. Dans Include, entrez des modèles pour les 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'expressions régulières pour les noms de branches au format global que vous souhaitez spécifier pour que la configuration du déclencheur les ignore et ne démarre pas votre pipeline en cas de modification des branches spécifiées. Pour plus d’informations, consultez Utilisation de modèles globulaires dans la syntaxe.
Note
Si les options d'inclusion et d'exclusion ont toutes deux le même modèle, la valeur par défaut est d'exclure le modèle.
Vous pouvez utiliser des modèles globulaires pour définir les noms de vos branches. 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 appuyez, c'est-à-dire les branches de destination. Pour un déclencheur de pull request, spécifiez les branches de destination vers lesquelles vous ouvrez une pull request.
-
(Facultatif) Sous Chemins de fichiers, spécifiez les chemins de fichier pour votre déclencheur. Entrez les noms dans Inclure et Exclure, selon le cas.
Vous pouvez utiliser des modèles globaux pour définir les noms de chemins de vos fichiers. Par exemple, utilisez pour
prod*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 de requêtes push et pull (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 ou.
L'exemple de structure JSON suivant fournit une référence pour les définitions de champs ci-dessouscreate-pipeline.
Pour obtenir la liste des définitions de champs, voir les déclencheurs dans la référence sur la structure du pipeline de ce guide.
{ "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" } } ] } ] } }
Ajoutez des filtres pour les types d'événements de requêtes push et pull (CloudFormation modèles)
Vous pouvez mettre à jour la ressource du pipeline CloudFormation pour ajouter un filtrage des déclencheurs.
L'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, reportez-vous à la section Déclencheurs dans la référence relative à la structure du pipeline de ce guide.
Pour un exemple de modèle complet pour la configuration d'une source de connexion et d'un filtre de déclenchement, voir Pipeline en deux étapes et configuration de déclencheur dans le Guide de CloudFormation l'utilisateur.
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