强制使gitlab CI中的sonarqube作业失败
在gitlab ci中有如下作业:强制使gitlab CI中的sonarqube作业失败,gitlab,gitlab-ci,Gitlab,Gitlab Ci,在gitlab ci中有如下作业: static_test_service: stage: test code script: - docker run --rm -v $(pwd):/data -w /data dparra0007/sonar-scanner:20171010-1 sonar-scanner -Dsonar.projectKey=$CI_PROJECT_NAMESPACE:$CI_PROJECT_NAME -Dsonar.projectN
static_test_service:
stage: test code
script:
- docker run --rm -v $(pwd):/data -w /data dparra0007/sonar-scanner:20171010-1 sonar-scanner
-Dsonar.projectKey=$CI_PROJECT_NAMESPACE:$CI_PROJECT_NAME
-Dsonar.projectName=$CI_PROJECT_NAME
-Dsonar.branch=$CI_COMMIT_REF_NAME
-Dsonar.projectVersion=$CI_JOB_ID
-Dsonar.sources=./greetingapi/src
-Dsonar.java.binaries=./greetingapi/target
-Dsonar.gitlab.project_id=$CI_PROJECT_ID
-Dsonar.gitlab.commit_sha=$CI_COMMIT_SHA
-Dsonar.gitlab.ref_name=$CI_COMMIT_REF_NAME
当sonarqube分析失败时,我将需要失败gitlab工作。但在这种情况下,会报告分析中的错误,但不会向Gitlab CI中的作业发送失败状态,并且该步骤始终以成功完成
似乎没有办法从“docker run”引发任何事件,由gitlab作业管理
如果sonarqube分析失败,你知道如何强迫工作失败吗
谢谢,要为失败的质量门中断CI构建,您必须根据以下步骤编写脚本 1.在/report-task.txt中搜索CE任务URL(ceTaskUrl)和CE任务Id(CETASKUID)的值 2.调用/api/ce/task?id=XXX,其中XXX是从步骤1中检索到的ce任务id 3.等待一段时间,直到步骤2的状态为成功、取消或失败 4.如果失败,则中断构建(此处失败无法生成声纳报告) 5.如果成功,则使用/api/ce/task返回的JSON中的analysisId?id=XXX(步骤2),并立即调用/api/qualitygates/project_status?analysisId=YYY检查质量门的状态。 Ex:-分析ID 6.步骤5给出了关键、主要和次要错误阈值限制的状态
7.基于中断生成的限制。要中断失败质量门的CI生成,您必须根据以下步骤编写脚本 1.在/report-task.txt中搜索CE任务URL(ceTaskUrl)和CE任务Id(CETASKUID)的值 2.调用/api/ce/task?id=XXX,其中XXX是从步骤1中检索到的ce任务id 3.等待一段时间,直到步骤2的状态为成功、取消或失败 4.如果失败,则中断构建(此处失败无法生成声纳报告) 5.如果成功,则使用/api/ce/task返回的JSON中的analysisId?id=XXX(步骤2),并立即调用/api/qualitygates/project_status?analysisId=YYY检查质量门的状态。 Ex:-分析ID 6.步骤5给出了关键、主要和次要错误阈值限制的状态 7.根据限制,打破构建