我们已经在Azure DevOps中构建了管道,其中包含两个任务,它们从相同的存储库(angular前端和java后端)构建两个项目。非常简短的构建流水线如下所示。此构建管道还用于PR上的构建验证策略。
trigger:
- develop
jobs:
- job: Backend
steps:
...
- task: SonarCloudPrepare@1
displayName: "Prepare analysis on SonarCloud"
inputs:
SonarCloud: OurProject
organization: ourorg
scannerMode: Other
extraProperties: |
sonar.exclusions=**/jalo/**,**/constants/**,**/*Standalone.java,**/_ui-src/**
sonar.projectKey=backendproj
sonar.projectName=xxxBackend
- task: Gradle@2
inputs:
sonarQubeRunAnalysis: true
- task: SonarCloudPublish@1
- job: Frontend
steps:
...
- task: SonarSource.sonarcloud.14d9cde6-c1da-4d55-aa01-2965cd301255.SonarCloudPrepare@1
displayName: "Prepare analysis on SonarCloud"
inputs:
SonarCloud: OurProj
organization: ourorg
scannerMode: CLI
configMode: manual
cliProjectKey: FrontendKey
cliProjectName: xxxFrontend
cliSources: "somepath"
extraProperties: |
sonar.exclusions=**/src/webApplicationInjector.js,**/node_modules/*
...
- task: SonarSource.sonarcloud.ce096e50-6155-4de8-8800-4221aaeed4a1.SonarCloudAnalyze@1
displayName: "Run Code Analysis"
- task: SonarSource.sonarcloud.38b27399-a642-40af-bb7d-9971f69712e8.SonarCloudPublish@1
displayName: "Publish Quality Gate Result"当打开PR运行的构建时,我们会看到以下状态:

但当打开PR时,我们会看到以下内容:

当单击"Quality gate passed“时,它会链接到Frontpage Sonarcloud项目,在这种情况下,该项目是成功的。
是否两个作业都使用相同的名称发布它们的状态,即“SonarCloud/quality gate”,因此策略只检查最后一个完成的作业?

发布于 2020-07-09 10:15:43
https://stackoverflow.com/questions/62717359
复制相似问题