我有一个Sping Boot 应用程序。我正在使用Azure CICD管道进行交付。我正在使用声纳云进行代码质量分析,并在管道中将其配置为一个步骤。当管道运行时,声纳云 Jmeter 板会随着漏洞更新,代码气味,等等.但是代码覆盖率总是显示为0%。在我的应用程序中有很多测试,不确定为什么它没有在声纳云中反射。我的管道看起来像这样(主要步骤):
steps:
- install java step here
- configure maven step here
- task: SonarCloudPrepare@1
inputs:
SonarCloud: 'My Sonarcloud connection'
organization: 'myOrganization'
scannerMode: 'Other'
extraProperties: |
sonar.projectKey=myOrganization_JavaApp---API
sonar.projectName=JavaApp - API
- task: Maven@3
displayName: 'Build Maven Artifacts'
inputs:
mavenPomFile: 'pom.xml'
goals: 'package -Dactive.profile=$(active_profile)'
publishJUnitResults: true
testResultsFiles: '**/surefire-reports/TEST-*.xml'
codeCoverageToolOption: 'JaCoCo'
javaHomeOption: 'JDKVersion'
mavenVersionOption: 'Default'
mavenAuthenticateFeed: false
effectivePomSkip: false
sonarQubeRunAnalysis: true
sqMavenPluginVersionChoice: 'latest'
- task: SonarCloudPublish@1
inputs:
pollingTimeoutSec: '300'
- task: CopyFiles@2
displayName: 'Copy Artifacts to: $(build.artifactstagingdirectory)'
inputs:
SourceFolder: '$(system.defaultworkingdirectory)'
Contents: '**/target/**/*.war'
TargetFolder: '$(build.artifactstagingdirectory)'
condition: succeededOrFailed()
- task: PublishBuildArtifacts@1
displayName: 'Publish Artifact to: drop'
inputs:
PathtoPublish: '$(build.artifactstagingdirectory)'
condition: succeededOrFailed()
字符串
一旦管道运行,它会在CICD job. x1c 0d1x中显示所有代码覆盖率详细信息。然而,覆盖率不会反映在声纳云中。它总是0%。
1.我的管道配置有什么问题?
1.我需要在pom.xml
中添加任何更改/配置才能使其工作吗?
1条答案
按热度按时间mm9b1k5b1#
在我这边测试,在SonarCloudPrepare@1任务中添加
sonar.coverage.jacoco.xmlReportPaths=<path-to-xml-report>
可以解决这个问题。我的SonarCloudPrepare@1任务:
字符串
然后我可以看到Sonar Cloud中的代码覆盖率: