codememo

ReportGenerator에서 코드 적용 범위 결과 게시가 작동하지 않음

tipmemo 2023. 5. 23. 21:55
반응형

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

반응형