SonarQube 7.7 +,Gitlab插件

时间:2019-10-04 10:41:31

标签: sonarqube gitlab gitlab-ci

从SonarQube 7.7开始,由于兼容性原因,Sonar-Gitlab插件不可用。

同时,有没有办法使Quality Gate上的Gitlab CI管道失败?

1 个答案:

答案 0 :(得分:0)

Sonar Scanner在扫描执行文件夹中创建一个小文件夹,其中包含文件report-task.txt

- scan_exec_folder
| - .scannerwork
| | - report-task.txt

report-task.txt文件包含有关当前扫描的基本信息,包括

  • SonarQube服务器URL
  • ceTaskUrl(即当前扫描的Compute Engine Task URL)

通过curl ceTaskURL,您可能会获得分析状态,而分析成功后,您将获得analysisId。 (几乎可以肯定,必须等待 才能完成分析。例如,可以对while的值使用status。)

接下来,curl在路径上/api/qualitygates/project_status?analysisId=${yourAnalysisId} 设置SonarQube服务器URL

json

将在ERROR文档中返回Quality Gate计算的结果。如果状态为grep,则说明至少有一个条件失败。

通过对awkStep Back Over进行一些调整,您可以编写此过程的脚本并将其作为任务合并到Gitlab CI管道中。