我正在开发一个 Dev Azure 管道,该管道运行几个阶段,其中有准备声纳报告的任务。我想要关注的阶段的重要部分如下所示:
build_and_sonar_prepare:
- task: SonarQubePrepare@6
displayName: prepare_sonar
inputs:
SonarQube: ${{ parameters.SonarQube}}
scannerMode: 'Other'
- task: Bash@3
displayName: scan_sonar
inputs:
targetType: 'inline'
script: |
mvn sonar:sonar other commands
sonar_publish:
- task: SonarQubePublish@6
inputs:
pollingTimeoutSec: '300'
build_and_sonar_prepare 不是由我管理的,它是我正在重用的模板的一部分。它运行良好并生成正确的声纳报告,并链接到声纳服务器。 我控制的阶段是 sonar_publish,我只想发布结果,以便在 Azure Devops Pipeline 摘要中查看报告的结果(我为此创建了单独的问题:(Azure Devops Pipeline,显示链接)管道运行摘要页面上的声纳报告)
这里发生的是
运行此管道后,我收到错误:
##[error]Variables are missing. Please make sure that you are running the Prepare and Analyze tasks before running the Publish task.
在调用“发布”之前,我尝试将 SonarCubeAnalyze 放入我的舞台中,但也失败了。我还确保声纳报告生成的所有文件都复制到 sonar_publish 的工作区中(在 build_and_sonar_prepare 阶段使用 CopyFiles@2 和 PublishBuildArtifacts@1 ,在 sonar_publish 阶段使用 CopyFiles@2 ) 到目前为止还没有成功。 我想知道是否可以使用此设置发布声纳报告? 我还想知道缺少哪些变量以及如何检查它们是否存在于 sonar_publish 阶段以及它们的值是多少?