Résolution des problèmes liés aux flux de travail - Amazon CodeCatalyst

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.

Résolution des problèmes liés aux flux de travail

Consultez les sections suivantes pour résoudre les problèmes liés aux flux de travail sur Amazon CodeCatalyst. Pour de plus amples informations sur les flux de travail, veuillez consulter Créez, testez et déployez avec des flux de travail.

Comment corriger les messages « Le flux de travail est inactif » ?

Problème : Dans la CodeCatalyst console, sous CI/CD, Workflows, votre flux de travail apparaît avec le message suivant :

Workflow is inactive.

Ce message indique que le fichier de définition du flux de travail contient un déclencheur qui ne s'applique pas à la branche sur laquelle vous vous trouvez actuellement. Par exemple, votre fichier de définition de flux de travail peut contenir un PUSH déclencheur qui fait référence à votre main branche, mais vous êtes sur une branche de fonctionnalités. Étant donné que les modifications que vous apportez à votre branche de fonctionnalités ne s'appliquent pas aux main exécutions de flux de travail et ne démarrent pasmain, CodeCatalyst désactive le flux de travail de la branche et marquez-le comme telInactive.

Correctifs possibles :

Si vous souhaitez démarrer un flux de travail sur votre branche de fonctionnalités, vous pouvez effectuer les opérations suivantes :

  • Dans votre branche de fonctionnalités, dans le fichier de définition du flux de travail, supprimez la Branches propriété de la Triggers section pour qu'elle ressemble à ceci :

    Triggers: - Type: PUSH

    Cette configuration entraîne l'activation du déclencheur lors d'un push vers n'importe quelle branche, y compris votre branche de fonctionnalités. Si le déclencheur est activé, un flux de travail CodeCatalyst sera lancé à l'aide du fichier de définition du flux de travail et des fichiers source, quelle que soit la branche vers laquelle vous envoyez le message.

  • Dans votre branche de fonctionnalités, dans le fichier de définition du flux de travail, supprimez la Triggers section et exécutez le flux de travail manuellement.

  • Dans votre branche de fonctionnalités, dans le fichier de définition du flux de travail, modifiez la PUSH section afin qu'elle fasse référence à votre branche de fonctionnalités plutôt qu'à une autre branche (par exemple). main

Important

Veillez à ne pas valider ces modifications si vous n'avez pas l'intention de les fusionner pour les réintégrer dans votre main succursale.

Pour plus d'informations sur la modification du fichier de définition du flux de travail, consultezCréation d'un flux de travail.

Pour plus d'informations sur les déclencheurs, consultez Démarrage d'un flux de travail exécuté automatiquement à l'aide de déclencheurs.

Comment corriger le message « La définition du flux de travail a n erreurs » erreurs ?

Problème : l'un des messages d'erreur suivants s'affiche :

Erreur 1 :

Sur la page CI/CD, Workflows, sous le nom de votre flux de travail, vous pouvez voir :

Workflow definition has n errors

Erreur 2 :

Lorsque vous modifiez un flux de travail, vous cliquez sur le bouton Valider et le message suivant apparaît en haut de la CodeCatalyst console :

The workflow definition has errors. Fix the errors and choose Validate to verify your changes.

Erreur 3 :

Après avoir accédé à la page de détails de votre flux de travail, l'erreur suivante s'affiche dans le champ de définition du flux de travail :

n errors

Correctifs possibles :

  • Choisissez CI/CD, choisissez Workflows, puis choisissez le nom du flux de travail contenant l'erreur. Dans le champ de définition du flux de travail situé en haut, choisissez le lien vers l'erreur. Les détails de l'erreur apparaissent au bas de la page. Suivez les conseils de dépannage indiqués dans le message d'erreur pour résoudre le problème.

  • Assurez-vous que le fichier de définition du flux de travail est un YAML fichier.

  • Assurez-vous que les YAML propriétés du fichier de définition du flux de travail sont imbriquées au bon niveau. Pour savoir comment les propriétés doivent être imbriquées dans le fichier de définition du flux de travail, reportez-vous à la documentation de votre actionYAMLDéfinition du flux de travail, ou consultez la documentation de votre action, qui est liée à fromAjouter une action à un flux de travail.

  • Assurez-vous que les astérisques (*) et les autres caractères spéciaux sont correctement masqués. Pour y échapper, ajoutez des guillemets simples ou doubles. Par exemple :

    Outputs: Artifacts: - Name: myartifact Files: - "**/*"

    Pour plus d'informations sur les caractères spéciaux dans le fichier de définition du flux de travail, consultezConsignes et conventions de syntaxe.

  • Assurez-vous que les YAML propriétés du fichier de définition du flux de travail utilisent les bonnes majuscules. Pour plus d'informations sur les règles relatives au boîtier, voirConsignes et conventions de syntaxe. Pour déterminer le bon boîtier de chaque propriété, reportez-vous à la documentation de votre action ou consultez la YAMLDéfinition du flux de travail documentation relative à votre action, dont le lien se trouve à partir deAjouter une action à un flux de travail.

  • Assurez-vous que la SchemaVersion propriété est présente et définie sur la bonne version dans le fichier de définition du flux de travail. Pour de plus amples informations, veuillez consulter SchemaVersion.

  • Assurez-vous que la Triggers section du fichier de définition du flux de travail inclut toutes les propriétés requises. Pour déterminer les propriétés requises, choisissez le déclencheur dans l'éditeur visuel et recherchez les champs dans lesquels des informations sont manquantes, ou consultez la documentation de référence du déclencheur à l'adresseTriggers.

  • Assurez-vous que la DependsOn propriété du fichier de définition du flux de travail est correctement configurée et qu'elle n'introduit pas de dépendances circulaires. Pour de plus amples informations, veuillez consulter Actions de séquençage.

  • Assurez-vous que la Actions section du fichier de définition du flux de travail inclut au moins une action. Pour de plus amples informations, veuillez consulter Actions.

  • Assurez-vous que chaque action inclut toutes les propriétés requises. Pour déterminer les propriétés requises, choisissez l'action dans l'éditeur visuel et recherchez les champs dans lesquels des informations sont manquantes, ou consultez la documentation de votre action, qui est liée à partir deAjouter une action à un flux de travail.

  • Assurez-vous que tous les artefacts d'entrée ont des artefacts de sortie correspondants. Pour de plus amples informations, veuillez consulter Définition d'un artefact de sortie.

  • Assurez-vous que les variables définies dans une action sont exportées afin de pouvoir être utilisées dans d'autres actions. Pour de plus amples informations, veuillez consulter Exporter une variable afin que d'autres actions puissent l'utiliser.

Comment corriger les erreurs « Impossible de localiser les informations d'identification » et ExpiredToken « » ?

Problème : pendant que vous travaillezTutoriel : Déployer une application sur Amazon EKS, l'un des messages d'erreur suivants ou les deux s'affichent dans la fenêtre du terminal de votre machine de développement :

Unable to locate credentials. You can configure credentials by running "aws configure".

ExpiredToken: The security token included in the request is expired

Correctifs possibles :

Ces erreurs indiquent que les informations d'identification que vous utilisez pour accéder aux AWS services ont expiré. Dans ce cas, n'exécutez pas la aws configure commande. Utilisez plutôt les instructions suivantes pour actualiser votre clé AWS d'accès et votre jeton de session.

Pour actualiser votre clé AWS d'accès et votre jeton de session
  1. Assurez-vous de disposer du portail d' AWS accèsURL, du nom d'utilisateur et du mot de passe de l'utilisateur que vous utilisez dans l'intégralité du EKS didacticiel Amazon (codecatalyst-eks-user). Vous devriez avoir configuré ces éléments à la fin Étape 1 : configurer votre machine de développement du didacticiel.

    Note

    Si vous ne disposez pas de ces informations, rendez-vous sur la page de codecatalyst-eks-user détails dans IAM Identity Center, choisissez Réinitialiser le mot de passe, Générer un mot de passe à usage unique [...] , et Réinitialisez à nouveau le mot de passe pour afficher les informations à l'écran.

  2. Effectuez l’une des actions suivantes :

    • Collez le portail AWS d'accès URL dans la barre d'adresse de votre navigateur.

      Ou

    • Actualisez la page du portail d' AWS accès si elle est déjà chargée.

  3. Connectez-vous avec le nom codecatalyst-eks-user d'utilisateur et le mot de passe, si ce n'est pas déjà fait.

  4. Choisissez Compte AWS, puis choisissez le nom de l'utilisateur Compte AWS auquel vous avez attribué l'codecatalyst-eks-userutilisateur et le jeu d'autorisations.

  5. À côté du nom du jeu d'autorisations (codecatalyst-eks-permission-set), choisissez Ligne de commande ou Accès programmatique.

  6. Copiez les commandes au milieu de la page. Ils ressemblent à ce qui suit :

    export AWS_ACCESS_KEY_ID="AKIAIOSFODNN7EXAMPLE" export AWS_SECRET_ACCESS_KEY="wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY" export AWS_SESSION_TOKEN="session-token"

    ... où session-token est une longue chaîne aléatoire.

  7. Collez les commandes dans l'invite de votre terminal sur votre machine de développement et appuyez sur Entrée.

    Les nouvelles clés et le nouveau jeton de session sont chargés.

    Vous avez maintenant actualisé vos informations d'identification. Les kubectl commandes AWS CLIeksctl, et devraient maintenant fonctionner.

Comment corriger les erreurs « Impossible de se connecter au serveur » ?

Problème : pendant que vous suivez le didacticiel décrit dansTutoriel : Déployer une application sur Amazon EKS, un message d'erreur similaire au suivant s'affiche dans la fenêtre du terminal de votre machine de développement :

Unable to connect to the server: dial tcp: lookup long-string.gr7.us-west-2.eks.amazonaws.com on 1.2.3.4:5: no such host

Correctifs possibles :

Cette erreur indique généralement que les informations d'identification utilisées par l'kubectlutilitaire pour se connecter à votre EKS cluster Amazon ont expiré. Pour résoudre le problème, actualisez les informations d'identification en saisissant la commande suivante à l'invite du terminal :

aws eks update-kubeconfig --name codecatalyst-eks-cluster --region us-west-2

Où :

  • codecatalyst-eks-cluster est remplacé par le nom de votre EKS cluster Amazon.

  • us-west-2 est remplacé par la AWS région dans laquelle votre cluster est déployé.

Pourquoi les CodeDeploy champs sont-ils absents de l'éditeur visuel ?

Problème : vous utilisez une ECS action Deploy to Amazon et les CodeDeploy champs ne s'affichent pas, par exemple CodeDeploy AppSpecdans l'éditeur visuel du flux de travail. Ce problème peut se produire parce que le ECS service Amazon que vous avez spécifié dans le champ Service n'est pas configuré pour effectuer des déploiements bleu/vert.

Correctifs possibles :

  • Choisissez un autre ECS service Amazon dans l'onglet Configuration de l'ECSaction Deploy to Amazon. Pour de plus amples informations, veuillez consulter Déploiement sur Amazon à l'ECSaide d'un flux de travail.

  • Configurez le ECS service Amazon sélectionné pour effectuer des déploiements bleu/vert. Pour plus d'informations sur la configuration des déploiements bleu/vert, consultez la section Déploiement bleu/vert avec dans CodeDeploy le manuel Amazon Elastic Container Service Developer Guide.

Comment corriger les erreurs liées IAM aux fonctionnalités ?

Problème : vous utilisez une action Deploy AWS CloudFormation stack, et vous pouvez le voir ##[error] requires capabilities: [capability-name] dans les journaux de votre action Deploy AWS CloudFormation stack.

Correctifs possibles : suivez la procédure suivante pour ajouter la fonctionnalité au fichier de définition du flux de travail. Pour plus d'informations sur les IAM fonctionnalités, consultez la section Reconnaissance IAM des ressources dans les AWS CloudFormation modèles du Guide de IAM l'utilisateur.

Visual
Pour ajouter une IAM fonctionnalité à l'aide de l'éditeur visuel
  1. Ouvrez la CodeCatalyst console à l'adresse https://codecatalyst.aws/.

  2. Choisissez votre projet.

  3. Dans le volet de navigation, choisissez CI/CD, puis Workflows.

  4. Choisissez le nom de votre flux de travail. Vous pouvez filtrer par le nom du référentiel source ou de la branche où le flux de travail est défini, ou filtrer par nom ou statut du flux de travail.

  5. Choisissez Modifier.

  6. Choisissez Visual.

  7. Dans le diagramme du flux de travail, choisissez votre action Deploy AWS CloudFormation stack.

  8. Cliquez sur l’onglet Configuration.

  9. En bas de la page, sélectionnez Avancé - facultatif.

  10. Dans la liste déroulante Fonctionnalités, cochez la case à côté de la fonctionnalité mentionnée dans le message d'erreur. Si la fonctionnalité n'est pas disponible dans la liste, utilisez l'YAMLéditeur pour l'ajouter.

  11. (Facultatif) Choisissez Valider pour valider le YAML code du flux de travail avant de le valider.

  12. Choisissez Valider, entrez un message de validation, puis choisissez à nouveau Valider.

  13. Si une nouvelle exécution de flux de travail ne démarre pas automatiquement, exécutez-le manuellement pour voir si les modifications corrigent l'erreur. Pour plus d'informations sur l'exécution manuelle d'un flux de travail, consultezDémarrer un flux de travail exécuté manuellement.

YAML
Pour ajouter une IAM fonctionnalité à l'aide de l'YAMLéditeur
  1. Ouvrez la CodeCatalyst console à l'adresse https://codecatalyst.aws/.

  2. Choisissez votre projet.

  3. Dans le volet de navigation, choisissez CI/CD, puis Workflows.

  4. Choisissez le nom de votre flux de travail. Vous pouvez filtrer par le nom du référentiel source ou de la branche où le flux de travail est défini, ou filtrer par nom ou statut du flux de travail.

  5. Choisissez Modifier.

  6. Choisissez YAML.

  7. Dans l'action Deploy AWS CloudFormation stack, ajoutez une capabilities propriété, comme celle-ci :

    DeployCloudFormationStack: Configuration: capabilities: capability-name

    Remplacez capability-name avec le nom de la IAM fonctionnalité indiqué dans le message d'erreur. Utilisez des virgules et aucun espace pour répertorier plusieurs fonctionnalités. Pour plus d'informations, consultez la description de la capabilities propriété dans leAction « Déployer une AWS CloudFormation pile » YAML.

  8. (Facultatif) Choisissez Valider pour valider le YAML code du flux de travail avant de le valider.

  9. Choisissez Valider, entrez un message de validation, puis choisissez à nouveau Valider.

  10. Si une nouvelle exécution de flux de travail ne démarre pas automatiquement, exécutez-le manuellement pour voir si les modifications corrigent l'erreur. Pour plus d'informations sur l'exécution manuelle d'un flux de travail, consultezDémarrer un flux de travail exécuté manuellement.

Comment corriger les erreurs « npm install » ?

Problème : votre action de AWS CDK déploiement ou d'AWS CDKamorçage échoue avec une npm install erreur. Cette erreur peut se produire parce que vous stockez les dépendances de votre AWS CDK application dans un registre de gestionnaire de packages de nœuds privés (npm) auquel l'action ne peut pas accéder.

Corrections possibles : suivez les instructions suivantes pour mettre à jour le cdk.json fichier de votre AWS CDK application avec des informations de registre et d'authentification supplémentaires.

Avant de commencer
  1. Créez des secrets pour vos informations d'authentification. Vous allez référencer ces secrets dans le cdk.json fichier au lieu de fournir les équivalents en texte clair. Pour créer les secrets :

    1. Ouvrez la CodeCatalyst console à l'adresse https://codecatalyst.aws/.

    2. Choisissez votre projet.

    3. Dans le volet de navigation, choisissez CI/CD, puis Secrets.

    4. Créez deux secrets dotés des propriétés suivantes :

      Premier secret Deuxième secret

      Nom: npmUsername

      Valeur : npm-usernameOù : npm-username est le nom d'utilisateur utilisé pour vous authentifier auprès de votre registre npm privé.

      (Facultatif) Description : The username used to authenticate to the private npm registry.

      Nom: npmAuthToken

      Valeur : npm-auth-tokenOù : npm-auth-token est le jeton d'accès utilisé pour vous authentifier auprès de votre registre npm privé. Pour plus d'informations sur les jetons d'accès npm, voir À propos des jetons d'accès dans la documentation npm.

      (Facultatif) Description : The access token used to authenticate to the private npm registry.

      Pour plus d'informations sur les secrets, consultezMasquage de données à l'aide de secrets.

  2. Ajoutez les secrets en tant que variables d'environnement à votre AWS CDK action. L'action remplacera les variables par des valeurs réelles lors de son exécution. Pour ajouter les secrets, procédez comme suit :

    1. Dans le volet de navigation, choisissez CI/CD, puis Workflows.

    2. Choisissez le nom de votre flux de travail. Vous pouvez filtrer par le nom du référentiel source ou de la branche où le flux de travail est défini, ou filtrer par nom ou statut du flux de travail.

    3. Choisissez Modifier.

    4. Choisissez Visual.

    5. Dans le diagramme du flux de travail, choisissez votre AWS CDK action.

    6. Sélectionnez l’onglet Entrées.

    7. Ajoutez deux variables avec les propriétés suivantes :

      Première variable Deuxième variable

      Nom: NPMUSER

      Value (Valeur) : ${Secrets.npmUsername}

      Nom: NPMTOKEN

      Value (Valeur) : ${Secrets.npmAuthToken}

      Vous disposez désormais de deux variables contenant des références à des secrets.

    Le YAML code de votre fichier de définition de flux de travail doit ressembler à ce qui suit :

    Note

    L'exemple de code suivant provient d'une action d'AWS CDK amorçage ; une action de AWS CDK déploiement sera similaire.

    Name: CDK_Bootstrap_Action SchemaVersion: 1.0 Actions: CDKBootstrapAction: Identifier: aws/cdk-bootstrap@v2 Inputs: Variables: - Name: NPMUSER Value: ${Secrets.npmUsername} - Name: NPMTOKEN Value: ${Secrets.npmAuthToken} Sources: - WorkflowSource Environment: Name: Dev2 Connections: - Name: account-connection Role: codecatalystAdmin Configuration: Parameters: Region: "us-east-2"

    Vous êtes maintenant prêt à utiliser les NPMTOKEN variables NPMUSER et de votre cdk.json fichier. Passez à la procédure suivante.

Pour mettre à jour votre fichier cdk.json
  1. Accédez au répertoire racine de votre AWS CDK projet et ouvrez le cdk.json fichier.

  2. Trouvez la "app": propriété et modifiez-la pour inclure le code affiché dans red italics:

    Note

    L'exemple de code suivant provient d'un TypeScript projet. Si vous utilisez un JavaScript projet, le code sera similaire mais pas identique.

    { "app": "npm set registry=https://your-registry/folder/CDK-package/ --userconfig .npmrc && npm set //your-registry/folder/CDK-package/:always-auth=true --userconfig .npmrc && npm set //your-registry/folder/CDK-package/:_authToken=\"${NPMUSER}\":\"${NPMTOKEN}\" && npm install && npx ts-node --prefer-ts-exts bin/hello-cdk.ts|js", "watch": { "include": [ "**" ], "exclude": [ "README.md", "cdk*.json", "**/*.d.ts", "**/*.js", "tsconfig.json", "package*.json", ...
  3. Dans le code surligné dans red italics, remplacez :

    • your-registry/folder/CDK-package/ avec le chemin d'accès aux dépendances de votre AWS CDK projet dans votre registre privé.

    • hello-cdk.ts|.js avec le nom de votre fichier de point d'entrée. Il peut s'agir d'un fichier .ts .js (TypeScriptJavaScript) ou () selon la langue que vous utilisez.

      Note

      L'action remplacera le NPMUSER and NPMTOKEN variables avec le nom d'utilisateur npm et le jeton d'accès que vous avez spécifiés dans Secrets.

  4. Enregistrez votre fichier cdk.json.

  5. Réexécutez l'action manuellement pour voir si les modifications corrigent l'erreur. Pour plus d'informations sur l'exécution manuelle d'actions, consultezDémarrer un flux de travail exécuté manuellement.

Pourquoi plusieurs flux de travail portent-ils le même nom ?

Les flux de travail sont stockés par branche et par référentiel. Deux flux de travail différents peuvent porter le même nom s'ils existent dans des branches différentes. Sur la page Flux de travail, vous pouvez différencier les flux de travail du même nom en consultant le nom de la branche. Pour de plus amples informations, veuillez consulter Organisation de votre code source : travaillez avec des branches sur Amazon CodeCatalyst.

Branche Workflow

Puis-je stocker les fichiers de définition de mon flux de travail dans un autre dossier ?

Non, vous devez stocker tous les fichiers de définition du flux de travail dans le .codecatalyst/workflows dossier ou dans les sous-dossiers de ce dossier. Si vous utilisez un dépôt mono avec plusieurs projets logiques, placez tous les fichiers de définition de votre flux de travail dans le .codecatalyst/workflows dossier ou dans l'un de ses sous-dossiers, puis utilisez le champ Fichiers modifiés (éditeur visuel) ou la FilesChanged propriété (YAMLéditeur) dans un déclencheur pour déclencher le flux de travail automatiquement sur un chemin de projet spécifié. Pour plus d’informations, consultez Ajouter des déclencheurs aux flux de travail et Exemple : un déclencheur avec un push, des branches et des fichiers.

Comment ajouter des actions en séquence à mon flux de travail ?

Par défaut, lorsque vous ajoutez une action à votre flux de travail, celle-ci ne comporte aucune dépendance et s'exécute en parallèle avec les autres actions.

Si vous souhaitez organiser les actions en séquence, vous pouvez définir une dépendance par rapport à une autre action en définissant le DependsOn champ. Vous pouvez également configurer une action pour consommer des artefacts ou des variables issus d'autres actions. Pour de plus amples informations, veuillez consulter Actions de séquençage.

Pourquoi mon flux de travail est-il correctement validé mais échoue-t-il lors de l'exécution ?

Si vous avez validé votre flux de travail à l'aide du Validate bouton, mais que celui-ci a quand même échoué, cela peut être dû à une limitation du validateur.

Toute erreur faisant référence à une CodeCatalyst ressource telle que des secrets, des environnements ou des flottes dans la configuration du flux de travail ne sera pas enregistrée lors d'une validation. Si des références non valides sont utilisées, l'erreur ne sera identifiée que lors de l'exécution d'un flux de travail. De même, s'il existe des erreurs dans la configuration de votre action, telles que l'absence d'un champ obligatoire ou des fautes de frappe dans les attributs de l'action, elles ne seront identifiées que lors de l'exécution du flux de travail. Pour de plus amples informations, veuillez consulter Création d'un flux de travail.

La détection automatique ne détecte aucun rapport concernant mon action

Problème : J'ai configuré la détection automatique pour une action qui exécute des tests, mais aucun rapport n'est découvert par CodeCatalyst.

Correctifs possibles : Cela peut être dû à un certain nombre de problèmes. Essayez une ou plusieurs des solutions suivantes :

  • Assurez-vous que l'outil utilisé pour exécuter les tests produit des sorties dans l'un des formats CodeCatalyst compatibles. Par exemple, si vous pytest souhaitez autoriser la découverte des rapports CodeCatalyst de test et de couverture du code, incluez les arguments suivants :

    --junitxml=test_results.xml --cov-report xml:test_coverage.xml

    Pour de plus amples informations, veuillez consulter Types de rapports sur la qualité.

  • Assurez-vous que l'extension de fichier pour les sorties correspond au format choisi. Par exemple, lors de la configuration pytest pour produire des résultats au JUnitXML format, vérifiez que l'extension du fichier est bien.xml. Pour de plus amples informations, veuillez consulter Types de rapports sur la qualité.

  • Assurez-vous qu'il IncludePaths est configuré pour inclure l'ensemble du système de fichiers (**/*), sauf si vous excluez certains dossiers exprès. De même, assurez-vous de ExcludePaths ne pas exclure les répertoires dans lesquels vous souhaitez que vos rapports se trouvent.

  • Si vous avez configuré manuellement un rapport pour utiliser un fichier de sortie spécifique, il sera exclu de la détection automatique. Pour de plus amples informations, veuillez consulter YAMLExemple de rapports de qualité.

  • La détection automatique peut ne pas trouver de rapports car l'action a échoué avant que les résultats ne soient générés. Par exemple, la compilation peut avoir échoué avant l'exécution des tests unitaires.

Mon action échoue sur les rapports découverts automatiquement une fois que j'ai configuré les critères de réussite

Problème : lorsque j'active la découverte automatique et que je configure les critères de réussite, certains rapports ne répondent pas aux critères de réussite et l'action échoue par conséquent.

Correctifs possibles : Pour résoudre ce problème, essayez une ou plusieurs des solutions suivantes :

  • Modifiez IncludePaths ou ExcludePaths excluez les rapports qui ne vous intéressent pas.

  • Mettez à jour les critères de réussite pour permettre à tous les rapports de passer. Par exemple, si deux rapports ont été découverts, l'un présentant une couverture linéaire de 50 % et l'autre de 70 %, ajustez la couverture linéaire minimale à 50 %. Pour plus d’informations, consultez Critères de réussite.

  • Transformez le rapport défaillant en un rapport configuré manuellement. Cela vous permet de configurer différents critères de réussite pour ce rapport spécifique. Pour de plus amples informations, veuillez consulter Configuration des critères de réussite pour les rapports.

La découverte automatique génère des rapports dont je ne veux pas

Problème : lorsque j'active la découverte automatique, cela génère des rapports dont je ne veux pas avoir besoin. Par exemple, CodeCatalyst génère des rapports de couverture de code pour les fichiers inclus dans les dépendances de mon application stockées dansnode_modules.

Corrections possibles : vous pouvez ajuster la ExcludePaths configuration pour exclure les fichiers indésirables. Par exemple, pour exclurenode_modules, ajouteznode_modules/**/*. Pour de plus amples informations, veuillez consulter Inclure/exclure des chemins.

La découverte automatique génère de nombreux petits rapports pour une seule infrastructure de test

Problème : lorsque j'utilise certains frameworks de reporting relatifs aux tests et à la couverture du code, j'ai remarqué que la découverte automatique génère un grand nombre de rapports. Par exemple, lorsque vous utilisez le plug-in Maven Surefire, la découverte automatique produit un rapport différent pour chaque classe de test.

Corrections possibles : votre framework peut être en mesure d'agréger les sorties dans un seul fichier. Par exemple, si vous utilisez le plugin Maven Surefire, vous pouvez l'utiliser npx junit-merge pour agréger les fichiers manuellement. L'expression complète peut ressembler à ceci :

mvn test; cd test-package-path/surefire-reports && npx junit-merge -d ./ && rm *Test.xml

Les flux de travail répertoriés sous CI/CD ne correspondent pas à ceux du référentiel source

Problème : Les flux de travail affichés sur la page CI/CD, Workflows ne correspondent pas à ceux du ~/.codecatalyst/workflows/ dossier de votre référentiel source. Vous pouvez constater les incohérences suivantes :

  • Un flux de travail apparaît sur la page Flux de travail, mais aucun fichier de définition de flux de travail correspondant n'existe dans votre référentiel source.

  • Un fichier de définition de flux de travail existe dans votre référentiel source, mais aucun flux de travail correspondant n'apparaît sur la page Workflows.

  • Un flux de travail existe à la fois dans le référentiel source et dans la page Workflows, mais les deux sont différents.

Ce problème peut se produire si la page Workflows n'a pas eu le temps de s'actualiser ou si un quota de flux de travail a été dépassé.

Correctifs possibles :

  • Patientez. Vous devez généralement attendre deux ou trois secondes après une validation dans la source avant de voir le changement sur la page des flux de travail.

  • Si vous avez dépassé un quota de flux de travail, effectuez l'une des opérations suivantes :

    Note

    Pour déterminer si un quota de flux de travail a été dépasséQuotas pour les flux de travail dans CodeCatalyst, passez en revue et recoupez les quotas documentés par rapport aux flux de travail de votre référentiel source ou sur la page Flux de travail. Aucun message d'erreur n'indique qu'un quota a été dépassé. Vous devrez donc vérifier par vous-même.

    • Si vous avez dépassé le nombre maximal de flux de travail par quota d'espace, supprimez certains flux de travail, puis effectuez un test de validation par rapport au fichier de définition du flux de travail. Un exemple de validation de test peut consister à ajouter un espace au fichier.

    • Si vous avez dépassé le quota de taille maximale du fichier de définition du flux de travail, modifiez le fichier de définition du flux de travail pour réduire sa longueur.

    • Si vous avez dépassé le nombre maximal de fichiers de flux de travail traités dans le cadre d'un quota d'événements source unique, effectuez plusieurs validations de test. Modifiez un nombre de flux de travail inférieur au maximum dans chaque validation.

Je n'arrive pas à créer ou à mettre à jour des flux de travail

Problème : je souhaite créer ou mettre à jour un flux de travail, mais un message d'erreur s'affiche lorsque j'essaie de valider la modification.

Corrections possibles : selon votre rôle dans le projet ou dans l'espace, il se peut que vous ne soyez pas autorisé à envoyer du code vers les référentiels sources du projet. Les YAML fichiers des flux de travail sont stockés dans des référentiels. Pour de plus amples informations, veuillez consulter Fichiers de définition du flux de travail. Les rôles d'administrateur d'espace, d'administrateur de projet et de contributeur sont tous autorisés à valider et à envoyer du code vers les référentiels d'un projet.

Si vous avez le rôle de contributeur mais que vous ne pouvez pas créer ou modifier le flux de travail YAML dans une branche spécifique, il se peut qu'une règle de branche configurée pour cette branche empêche les utilisateurs ayant ce rôle de transmettre du code à cette branche en particulier. Essayez de créer un flux de travail dans une autre branche ou de valider vos modifications dans une autre branche. Pour de plus amples informations, veuillez consulter Gérer les actions autorisées pour une branche à l'aide de règles de branche.