ReportGenerator에서 코드 적용 범위 결과 게시가 작동하지 않음
코드 적용 범위 보고서가 작동하거나 DevOps가 매개 변수를 올바르게 전달하도록 하는 데 문제가 있습니다.빌드 디렉터리를 다운로드하면(빌드에서 압축) ReportGenerator 보고서를 사용할 수 있지만 게시되지 않습니다.그래서 적어도 그 부분은 효과가 있다는 것을 알고 있습니다.:)
그러나 게시 단계가 실행되면 새 리포트를 생성하고 대신 사용합니다.내 Yaml 파일은 다음과 같습니다.
## Generate Reports
- task: Palmmedia.reportgenerator.reportgenerator-build-release-task.reportgenerator@4
displayName: Generate Code Coverage Reports
inputs:
reports: '**\coverage.cobertura.xml'
targetdir: 'results'
reporttypes: 'HTML;HtmlInline_AzurePipelines;Badges;Cobertura'
assemblyfilters: '-*tests*'
continueOnError: true
# Publish Code Coverage Reports
- task: PublishCodeCoverageResults@1
displayName: Publish Code Coverage Results
inputs:
disable.coverage.autogenerate: true
summaryFileLocation: $(Build.SourcesDirectory)\results\cobertura.xml
reportDirectory: $(Build.SourcesDirectory)\results
codecoverageTool: cobertura
continueOnError: true
그러나 디버그에서 실행하면 다음과 같은 출력이 표시됩니다.
##[debug]disable.coverage.autogenerate=undefined
이 매개 변수를 전달하기 위해 다음 옵션을 시도했습니다.
disable.coverage.autogenerate: true
disable.coverage.autogenerate: 'true'
disable.coverage.autogenerate: 1
작업에 성공적으로 아무것도 전달하지 못했습니다.
이 플래그가 설정되지 않으면 태스크는 ReportGenerator에서 생성한 HTML 리포트를 덮어쓰고 다음을 출력합니다.
##[warning]Ignoring coverage report directory with Html content as we are auto-generating Html content
저는 다니엘 팔메(리포트 생성기의 저자)가 여기에 붙여넣은 정보를 바탕으로 작업하고 있으며, 작업의 실제 코드를 읽고 있습니다.
소스 코드가 오픈 소스로 제공되므로 로그 또는 더 많은 정보가 답변을 제공하는 데 도움이 된다면 여기에서 모두 사용할 수 있습니다.로그가 좋은 빌드가 여기 있습니다.Yaml 파일은 여기에 있으며 프로젝트의 다양한 다른 저장소에서 호출됩니다.
이 문제를 해결하는 방법에 대한 조언을 해주시면 감사하겠습니다.
음, 표준 운영 절차에서 짜증을 내고, 스택 오버플로에 긴 게시물을 쓰고, 어딘가에서 너겟을 찾고, 자신의 문제를 해결하세요.
매개 변수가 아니라 환경 변수를 설정해야 합니다.Yaml 파일의 시작 부분에 다음을 추가하면 처리됩니다.
variables:
disable.coverage.autogenerate: 'true'
이 문제를 해결하기 위해 이 문제를 해결하기 위해 여기에 남겨두는 것입니다.:/
다음과 같은 것들env설정은 승인된 답변과 동일한 결과를 달성하지만 작업에만 적용됩니다.
- task: PublishCodeCoverageResults@1
inputs:
codeCoverageTool: 'Cobertura'
summaryFileLocation: '$(Build.ArtifactStagingDirectory)/testresults/**/coverage.cobertura.xml'
pathToSources: '$(System.DefaultWorkingDirectory)'
reportDirectory: '$(Build.ArtifactStagingDirectory)/testresults/coveragereport'
failIfCoverageEmpty: true
env:
DISABLE_COVERAGE_AUTOGENERATE: 'true'
displayName: Publish code coverage results
편집:
나는 그것을 발견했습니다.**위의 경로에서 두 개의 탐지 범위 xml 파일이 발견되어 경고가 발생할 수 있습니다.경우에 따라 별표 하나를 사용하면 문제가 해결될 수 있습니다.
언급URL : https://stackoverflow.com/questions/56859264/publishing-code-coverage-results-from-reportgenerator-not-working
'codememo' 카테고리의 다른 글
| Bash 스크립트에 전달된 인수 수를 확인하려면 어떻게 해야 합니까? (0) | 2023.05.23 |
|---|---|
| #if RELEASE가 C#에서 DEBUG가 #처럼 작동합니까? (0) | 2023.05.23 |
| jQuery를 사용하여 div의 하위 요소를 어떻게 반복합니까? (0) | 2023.05.23 |
| Git diff - 줄의 시작과 끝에서만 공백 무시 (0) | 2023.05.23 |
| PostgreSQL 외부 키 구문 (0) | 2023.05.23 |