Мы запускаем автоматические проверки качества кода в 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'
Около недели a go, основная задача анализа («Запустить сканирование SonarQube» ) начал сбой для всех конвейеров со следующей ошибкой:
...
##[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 Edition версии 7.9.1 (сборка 27448) (локальная установка) и версия 4.9.0 расширения SonarQube для Azure DevOps (опубликовано SonarSource).
ОБНОВЛЕНИЕ 25/3/20 (спасибо to patricklu-msft):
Мы используем агент компоновки, размещенный в Microsoft с образом ubuntu-16.04
. Запуск конвейера в режиме отладки показывает следующее:
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
...