如何在Azure DevOps的生成摘要中查看SonarQube完整分析报告?

时间:2019-08-19 09:49:44

标签: azure-devops sonarqube

无法在Azure DevOps生成摘要中查看SonarQube结果。

我在.netccore和框架组件的build.yml中添加了代码覆盖率单元测试任务,但是当我尝试运行该构建时,它仅显示单元测试任务的代码覆盖率。我不确定如何检查完整分析,包括代码气味,天蓝色devops构建摘要本身中包含多少行以及质量门结果。由于一些挑战,我无法登录SonarQube机器,因此我想在构建摘要中查看结果。我已经添加了SonarQube任务以在build.yml文件中运行分析。

Build.yml:

name: $(date:yyyyMMdd)$(rev:.r)-$(SourceBranchName)

variables:
  BuildPlatform: 'Any CPU'
  BuildConfiguration: 'Release'
  Major: '0'
  Minor: '1'
  nugetversion: $(Major).$(Minor).$(Build.BuildId)
steps:
- task: DotNetCoreInstaller@0
  displayName: 'Use .NET Core SDK Tool Installer'
  inputs:
    version: 2.2.100
#Restore nuget for Test123
- task: DotNetCoreCLI@2
  inputs:
    command: 'restore'
    projects: '**/*.csproj'
    vstsFeed: 'Test'

- task: SonarSource.sonarqube.15B84CA1-B62F-4A2A-A403-89B77A063157.SonarQubePrepare@4
  displayName: 'Prepare analysis on SonarQube'
  inputs:
    SonarQube: dksonarqubep01

    projectKey: 'TestKey'

    projectName: 'Test123'

  continueOnError: true

#Build solution for Test123
- task: CopyFiles@2
  displayName: 'Copy Files to: $(build.artifactstagingdirectory)/deployment'
  inputs:
    SourceFolder: deployment

    Contents: '**\*.*'

    TargetFolder: '$(build.artifactstagingdirectory)/deployment'

    CleanTargetFolder: true
- task: DotNetCoreCLI@2
  displayName: 'Build proj Test123'
  inputs:
    command: build
    projects: 'Test123.sln'
    arguments: '-c $(BuildConfiguration) --no-restore'

- task: DotNetCoreCLI@2
  displayName: 'dotnet test'
  inputs:
    command: test

    projects: |
     Test123.Tests/*.csproj

    arguments: '-c $(BuildConfiguration) --no-restore --no-build --collect:"Code coverage"'   

- task: DotNetCoreCLI@2
  displayName: 'dotnet publish'
  inputs:
    command: publish

    publishWebProjects: false

    projects: '**/*Test123.csproj'

    arguments: '-c $(BuildConfiguration) -o $(build.artifactstagingdirectory) --no-restore'


- task: PublishSymbols@2
  displayName: 'Publish symbols path'
  inputs:
    SearchPattern: '**\\bin\\**\\*.pdb'

    PublishSymbols: false

  continueOnError: true

- task: CopyFiles@2
  displayName: 'Copy deployment to: $(build.artifactstagingdirectory)'
  inputs:
    SourceFolder: deployment

    TargetFolder: '$(build.artifactstagingdirectory)\\env'

- task: PublishBuildArtifacts@1
  displayName: 'Publish Artifact'
  inputs:
    PathtoPublish: '$(build.artifactstagingdirectory)'

    ArtifactName: 'drop'

- task: SonarSource.sonarqube-9589-4B15-8491-8164AEB38055.SonarQubeAnalyze@4
  displayName: 'Run Code Analysis'
  continueOnError: true

- task: SonarSource.sonarqube-1ee4-45d3-b1b0-bf822d9095ef.SonarQubePublish@4
  displayName: 'Publish Quality Gate Result'
  continueOnError: true

在单元测试的构建摘要中我只能看到代码覆盖率百分比值,但是我希望在构建摘要中看到完整的分析,而不是登录SonarQube机器并查看结果。如果有任何任务需要,请帮我在build.yml中执行任务以查看结果,或在不登录SonarQube机器的情况下以任何其他方式在天蓝色的DevOps中查看结果。

1 个答案:

答案 0 :(得分:0)

  

如何在Azure DevOps的构建摘要中查看SonarQube完整分析报告?

AFAIK,在名为{{1}的任务Prepare Analysis Configuration的版本 3 中,有一个高级选项在构建摘要中包括完整的分析报告。 }:

enter image description here

用于上载报告以生成构建摘要,结果将显示在构建摘要的底部。

或者,您可以尝试上传结果文件以通过Logging Command(例如Scanner for MSBuild - Begin Analysis)进行构建,它将显示在构建摘要的底部。

  

上传摘要减价并将其附加到当前时间轴记录。这个   摘要应添加到构建/发布摘要中,并且不可用   与日志一起下载。

希望这会有所帮助。