azure-devops - SonarQube/Azure DevOps 代码分析失败 - .scannerwork/report-task.txt 未找到
问题描述
我们在 SonarQube 中运行由 Azure DevOps 中的管道触发的自动代码质量扫描:
# retrieve and build code, run unit tests etc.
- task: SonarQubePrepare@4
displayName: 'Prepare SonarQube Scan'
inputs:
SonarQube: 'SonarQube DevOps Connection'
scannerMode: 'CLI'
configMode: 'file'
- task: SonarQubeAnalyze@4
displayName: 'Run SonarQube Scan'
- task: SonarQubePublish@4
displayName: 'Publish SonarQube Scan Report'
inputs:
pollingTimeoutSec: '300'
大约一周前,所有管道的主要分析任务('Run SonarQube Scan')开始失败,并出现以下错误:
...
##[error]ERROR: Error during SonarQube Scanner execution
ERROR: Error during SonarQube Scanner execution
##[error]java.lang.IllegalStateException: Unable to load properties from file /home/vsts/work/1/s/.scannerwork/report-task.txt
java.lang.IllegalStateException: Unable to load properties from file /home/vsts/work/1/s/.scannerwork/report-task.txt
...
##[error]Caused by: java.io.FileNotFoundException: /home/vsts/work/1/s/.scannerwork/report-task.txt (No such file or directory)
Caused by: java.io.FileNotFoundException: /home/vsts/work/1/s/.scannerwork/report-task.txt (No such file or directory)
...
我们没有对我们的管道进行任何更改,所以我对导致这种更改的原因感到困惑。
我们正在使用 SonarQube Enterprise EditionVersion 7.9.1(内部版本 27448)(本地安装)和用于 Azure DevOps 的 SonarQube 扩展 4.9.0 版(由 SonarSource 发布)。
25/3/20 更新(感谢 patricklu-msft):
我们正在使用带有ubuntu-16.04
映像的 Microsoft 托管的构建代理。在调试模式下运行管道会显示以下内容:
2020-03-25T14:25:00.3694399Z 14:25:00.369 DEBUG: Report metadata written to /home/vsts/work/_temp/sonar/20200325.2/eec0f38a-913b-3db3-e1b2-71091ea5f860/report-task.txt
因此,报告元数据似乎正在被写入,/home/vsts/work/_temp/sonar/20200325.2/eec0f38a-913b-3db3-e1b2-71091ea5f860/report-task.txt
但 SonarQube 随后在/home/vsts/work/1/s/.scannerwork/report-task.txt
. 似乎mv
某处缺少操作...
解决方案
不确定这是否是与 SonarQube 任务相关的问题。
根据这里的链接:
The new version (4.7.x) is looking here:
##[debug]adjustedPattern: 'C:\AzureDevops\Agent2-GCS-Docker\_work\_temp\sonar\199416\**\report-task.txt’
看起来支持使用新版本查看临时文件夹中的 report-task.txt。
尝试回滚您的任务版本并检查这是否可以解决问题。
推荐阅读
- python - Django 模型比较不适用于浮点数据类型
- hibernate - 如果我不想在 Hibernate 中使用 @Generated 注释,还有什么其他选择?
- python - 如何在python中使用正则表达式捕获字符串并将其替换为所需的字符串
- android - Android 媒体播放器/框架种类
- php - PhpStorm:找不到类“PhpUnit\Framework\TestCase”(作曲家/自动加载)
- opencv - 使用opencv绘制形状
- fuzzing - Boofuzz 基于组值创建嵌套块
- google-apps-script - 从我的表单中保存谷歌表格中的信息
- javascript - 如何从父页面中删除 iframe 中的确认对话框?
- unit-testing - VSTS / VSTest 不遵守 [ExcludeFromCodeCoverage]