SonarQube 7.7+, плагин Gitlab - PullRequest
       25

SonarQube 7.7+, плагин Gitlab

1 голос
/ 04 октября 2019

Начиная с SonarQube 7.7 и выше, плагин Sonar - Gitlab недоступен по соображениям совместимости.

В то же время, есть ли способ отказать в конвейере Gitlab CI при сбое в Quality Gate?

1 Ответ

0 голосов
/ 04 октября 2019

Сканер 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.

...