无法在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中查看结果。
答案 0 :(得分:0)
如何在Azure DevOps的构建摘要中查看SonarQube完整分析报告?
AFAIK,在名为{{1}的任务Prepare Analysis Configuration
的版本 3 中,有一个高级选项在构建摘要中包括完整的分析报告。 }:
用于上载报告以生成构建摘要,结果将显示在构建摘要的底部。
或者,您可以尝试上传结果文件以通过Logging Command(例如Scanner for MSBuild - Begin Analysis
)进行构建,它将显示在构建摘要的底部。
上传摘要减价并将其附加到当前时间轴记录。这个 摘要应添加到构建/发布摘要中,并且不可用 与日志一起下载。
希望这会有所帮助。