Lorsque vous essayez de créer un rapport à l'aide de l'outil 'ReportGenerator' dans le cadre de Azure devops YAML pipleine, ci-dessous l'erreur est lancée alors que j'ai installé l'outil à l'étape précédente.
- script: dotnet tool install --global dotnet-reportgenerator-globaltool --version 4.6.1 displayName: 'Install ReportGenerator tool' continueOnError: true - script: reportgenerator "-reports:$(Agent.TempDirectory)/**/*.cobertura.xml" "-targetdir:$(Build.SourcesDirectory)/coverlet/reports" -reporttypes:Cobertura;htmlInline displayName: Generate code coverage report continueOnError: true
Erreur: 'reportgenerator' n'est pas reconnu comme une commande interne ou externe, programme utilisable ou fichier de commandes. ## [error] Cmd.exe s'est fermé avec le code "1".
Ajout de journaux Étape d'installation: Contenu du script: dotnet tool install dotnet-reportgenerator-globaltool --tool-path tools --version 4.6.1 ========================== Démarrage de la sortie de commande ====================== ====== "C: \ windows \ system32 \ cmd.exe" / D / E: ON / V: OFF / S / C "CALL" E: \ Agent_work_temp \ d9535a65-152b-4822-a4f2-7e58c11f2418.cmd "" Vous pouvez appeler l'outil à l'aide de la commande suivante: reportgenerator L'outil «dotnet-reportgenerator-globaltool» (version «4.6.1») a été installé avec succès. Finition: Installez l'outil ReportGenerator
Outil d'exécution: Contenu du script: reportgenerator "-reports: E: \ Agent_work_temp / ** / *. cobertura.xml" "-targetdir: E: \ Agent_work \ 79 \ s / coverlet / reports" -reporttypes: Cobertura; htmlInline ========================== Démarrage de la sortie de commande ====================== ====== "C: \ windows \ system32 \ cmd.exe" / D / E: ON / V: OFF / S / C "CALL" E: \ Agent_work_temp \ 53dbc699-e878-4458-aaf2-8e69e5c4f09a.cmd "" 'reportgenerator' n'est pas reconnu comme une commande interne ou externe, programme utilisable ou fichier de commandes. ## [error] Cmd.exe s'est arrêté avec le code "1".
3 Réponses :
Il existe un bogue connu lorsque vous essaient de le faire sur une machine Linux. Après l'installation du générateur de rapports, veuillez essayer d'ajouter cette étape supplémentaire pour mettre à jour le PATH:
- task: DotNetCoreCLI@2 displayName: Install ReportGenerator Global Tool inputs: command: custom custom: tool arguments: install dotnet-reportgenerator-globaltool -g - script: echo "##vso[task.prependpath]$HOME/.dotnet/tools" displayName: 'Update PATH' - script: reportgenerator "-reports:$(Agent.TempDirectory)/**/*.cobertura.xml" "-targetdir:$(Build.SourcesDirectory)/coverlet/reports" -reporttypes:Cobertura;htmlInline displayName: Generate code coverage report continueOnError: true
Donc, toute la solution ressemble à ceci:
- script: echo "##vso[task.prependpath]$HOME/.dotnet/tools"
p>
Merci pour la réponse rapide. Mais cela n'a pas fonctionné. même erreur
Étrange, j'ai également mis à jour la première étape pour installer le générateur de rapports avec la tâche DotNetCoreCLI
. Essayez-le. Cela fonctionne sur ma configuration. J'utilise ubuntu-latest
comme vmImage. Si cela ne fonctionne pas, veuillez coller le fichier yaml complet et créer une sortie sans données sensibles bien sûr.
Ceci est dû au fait que vous utilisez un agent auto-hébergé. Après avoir installé un nouveau logiciel sur un agent, vous devez redémarrer l'agent pour que la nouvelle fonctionnalité apparaisse dans le pool afin que la compilation puisse s'exécuter.
Accédez simplement au Gestionnaire des tâches sur votre machine d'agent et redémarrez le service d'agent de compilation.
Le fichier YAML suivant devrait faire l'affaire:
- task: Palmmedia.reportgenerator.reportgenerator-build-release-task.reportgenerator@4 displayName: ReportGenerator inputs: reports: '$(Agent.TempDirectory)/**/*.cobertura.xml' targetdir: '$(Build.SourcesDirectory)/coverlet/reports' reporttypes: 'Cobertura;HtmlInline'
Vous pouvez également utiliser l'extension Azure DevOps:
https://marketplace.visualstudio.com/items?itemName=Palmmedia.reportgenerator
Utilisation:
- script: dotnet tool install --tool-path tools dotnet-reportgenerator-globaltool --version 4.6.1 displayName: 'Install ReportGenerator tool' continueOnError: true - script: ./tools/reportgenerator "-reports:$(Agent.TempDirectory)/**/*.cobertura.xml" "-targetdir:$(Build.SourcesDirectory)/coverlet/reports" "-reporttypes:Cobertura;HtmlInline"
Avez-vous essayé de redémarrer le service d'agent de build? Votre problème est-il résolu?