Сканер Sonar создает небольшую папку в папке выполнения сканирования, которая содержит файл report-task.txt
.
- scan_exec_folder
| - .scannerwork
| | - report-task.txt
Этот report-task.txt
файл содержит основную информацию о текущем сканировании, включая
- URL-адрес сервера SonarQube
ceTaskUrl
(а именно URL-адрес задачи Compute Engine текущего сканирования)
curl
* * * * * *может получить статус анализа, а при успешном анализе analysisId
. (Вам почти наверняка придется дождаться для завершения анализа. Например, вы можете использовать while
для значения status
.)
Далее, curl
при использовании URL-адреса сервера SonarQube по пути
/api/qualitygates/project_status?analysisId=${yourAnalysisId}
будет возвращен результат вычисления Quality Gate в документе json
. Если статус ERROR
, вы знаете, что по крайней мере один критерий не был выполнен.
Небольшая настройка с grep
s и awk
s позволит вам написать сценарий этой процедуры и включить его взадача в вашем конвейере Gitlab CI.