Share Your AWS re:Post Experience - Quick 3 Question Survey and Earn a re:Post Badge
Help us improve AWS re:Post! We're interested in understanding how you use re:Post and its impact on your AWS journey. Please take a moment to complete our brief 3-question survey
Comment puis-je corriger AWS CodePipeline lorsqu'il s'exécute deux fois ?
Je souhaite résoudre un problème où AWS CodePipeline s'exécute plusieurs fois.
Brève description
AWS CodePipeline s'exécute plusieurs fois pour deux raisons courantes :
- Le paramètre PollForSourceChanges est défini sur vrai, ce qui entraîne un deuxième lancement du pipeline déclenché par un sondage.
- Il existe une règle CloudWatch Events dupliquée avec la même cible que le pipeline, ce qui entraîne l'exécution du pipeline à deux reprises.
Pour résoudre le problème, examinez d'abord l'historique du pipeline afin de déterminer la cause de son fonctionnement dupliqué.
S'il existe plusieurs lancements similaires du pipeline déclenchés par des règles CloudWatch Events, supprimez ou désactivez toutes les règles dupliquées.
Si des lancements du pipeline sont déclenchés par un sondage, consultez la section Comprendre le comportement par défaut du paramètre PollForSourceChanges. Puis, en fonction de votre scénario, suivez les étapes décrites dans l'une des sections suivantes :
- Si vous avez créé votre pipeline avec AWS CloudFormation, suivez les étapes décrites dans la section Mettre à jour votre modèle AWS CloudFormation.
- Si vous avez créé votre pipeline à l'aide de l'interface de ligne de commande AWS (AWS CLI), suivez les étapes décrites dans la section Mettre à jour votre pipeline à l'aide d'un fichier JSON.
- Si vous avez créé votre pipeline à l'aide du kit SDK AWS, suivez les étapes décrites dans la section Mettre à jour votre pipeline en fonction de la syntaxe de configuration de votre langage.
Important : Mettez à jour votre pipeline en utilisant la même méthode que celle avec laquelle vous l'avez créé. Évitez d'apporter des modifications hors bande à votre pipeline et assurez-vous de suivre les étapes de la section qui s'applique uniquement à votre scénario. Par exemple, si vous avez créé votre pipeline avec AWS CloudFormation, suivez les étapes décrites dans la section Mettre à jour votre modèle AWS CloudFormation uniquement.
Résolution
Remarque : Si des erreurs surviennent lors de l'exécution de commandes de l'interface de ligne de commande AWS, vérifiez que vous utilisez la version la plus récente de l'AWS CLI.
Confirmer l’origine du problème
- Ouvrez la console CodePipeline.
- Pour Nom, choisissez le nom du pipeline.
- Sélectionnez Afficher l'historique.
- Dans la colonne Déclencheur, vérifiez l’existence éventuelle de lancements dupliqués du pipeline déclenchés par des règles CloudWatch Events ou déclenchés par un sondage.
- S'il existe plusieurs lancements similaires déclenchés par des règles CloudWatch Events, supprimez ou désactivez les règles dupliquées.
S’il existe des lancements déclenchés par un sondage du pipeline, passez à la section de dépannage suivante.
Comprendre le comportement par défaut du paramètre PollForSourceChanges
Les éléments suivants déterminent le comportement des règles PollForSourceChanges et CloudWatch Events :
- Le comportement par défaut du paramètre PollForSourceChanges est déterminé par la méthode utilisée pour créer le pipeline.
- Dans de nombreux cas, la valeur de PollForSourceChanges est définie sur vrai par défaut et doit être désactivée.
- Si vous créez votre pipeline à l'aide de la console CodePipeline, la méthode de détection de source est automatiquement définie sur Amazon CloudWatch Events.
- Si vous créez votre pipeline avec AWS CloudFormation, l'AWS CLI ou le kit SDK AWS et que vous ne spécifiez pas la méthode de détection des modifications, PollForSourceChanges est défini sur vrai par défaut (selon la méthode de création).
- Si vous créez votre pipeline à l'aide d'une méthode autre que la console CodePipeline, puis que vous mettez à jour votre pipeline hors bande à l'aide de la console, CodePipeline crée automatiquement une règle CloudWatch Events supplémentaire.
- Si vous créez une règle règle CloudWatch Events dans votre modèle AWS CloudFormation ou créez un webhook pour votre référentiel GitHub version 1 sans définir le paramètre PollForSourceChanges, vous vous retrouvez avec deux méthodes pour détecter les modifications apportées à la source. Cela entraîne un fonctionnement dupliqué de votre pipeline.
Vérifiez que vos configurations respectent ces règles.
Mettez à jour votre modèle AWS CloudFormation
Dans votre modèle AWS CloudFormation ou votre fichier de configuration de pipeline, définissez le paramètre PollForSourceChanges sur faux.
Remarque : Le paramètre PollForSourceChanges est défini sur vrai par défaut.
Pour plus d'informations sur les webhooks de GitHub version 1, consultez la section Utiliser des webhooks pour démarrer un pipeline.
Mettez à jour votre pipeline avec un fichier JSON
-
Copiez la structure de votre pipeline dans un fichier JSON :
$ aws codepipeline get-pipeline --name NAME_OF_YOUR_PIPELINE > pipeline.json
-
Ouvrez le fichier pipeline.json dans un éditeur de texte, puis ajoutez le paramètre PollForSourceChanges à la section de configuration des actions source. Définissez le paramètre sur faux.
-
Supprimez les champs de métadonnées suivants du fichier :
"metadata":{}
"created"
"pipelineARN"
"updated"
Important : Les lignes de métadonnées doivent être supprimées du fichier pipeline.json pour que la commande update-pipeline suivante puisse les utiliser. -
Enregistrez le fichier pipeline.json, puis exécutez la commande update-pipeline suivante pour appliquer les modifications au fichier :
$ aws codepipeline update-pipeline --cli-input-json file://pipeline.json
Pour plus d'informations, consultez la section Modifier un pipeline (AWS CLI).
Mettez à jour votre pipeline en fonction de la syntaxe de configuration de votre langage
Pour des instructions sur la mise à jour de votre pipeline, consultez la documentation du kit SDK correspondant à votre langage.
Par exemple, si vous avez déployé votre pipeline avec Python, vous pouvez définir PollForSourceChanges sur faux dans la section de configuration de votre pipeline.
Vidéos associées


Contenus pertinents
- demandé il y a un anlg...
- demandé il y a un anlg...
- demandé il y a 10 moislg...
- demandé il y a un anlg...
- demandé il y a 4 moislg...
- AWS OFFICIELA mis à jour il y a 5 mois
- AWS OFFICIELA mis à jour il y a 2 ans
- AWS OFFICIELA mis à jour il y a 5 mois
- AWS OFFICIELA mis à jour il y a 6 mois