Gradle 基于SonarQube分析结果在GitLab中中断推送

Gradle 基于SonarQube分析结果在GitLab中中断推送,gradle,sonarqube,gitlab,gitlab-ci,gitlab-ci-runner,Gradle,Sonarqube,Gitlab,Gitlab Ci,Gitlab Ci Runner,我在springboot中有一个应用程序,它使用gradle构建代码 我已在SonarQube上安装并集成了gitlab CI 在每次推送/提交时分析代码。我想要实现的是在分析失败时中断推送/提交。 下面是我的.gitlab-ci.yml image: XXXXXX:oraclejdk:1.8.0_121 before_script: - export GRADLE_USER_HOME=`pwd`/.gradle sonarqube_master_job:

我在springboot中有一个应用程序,它使用gradle构建代码

我已在SonarQube上安装并集成了gitlab CI 在每次推送/提交时分析代码。我想要实现的是在分析失败时中断推送/提交。 下面是我的.gitlab-ci.yml

image: XXXXXX:oraclejdk:1.8.0_121

    before_script:
      - export GRADLE_USER_HOME=`pwd`/.gradle

    sonarqube_master_job:
      stage: test
      only:
        - master
        - release2.0
  script:
    - ./gradlew assemble
    - ./gradlew -x test sonarqube   -Dsonar.host.url=http://sonarqube.XXX.XXX.XXX:9000/sonarqube   -Dsonar.login=xxxxxxxxxxxxxxxxxxxx

sonarqube_preview_feature_job:
  stage: test
  only:
    - /^feature\/*/
    - development
  script:
    - git checkout $CI_COMMIT_REF_NAME
    - git merge  --no-commit --no-ff
    - ./gradlew assemble
    - ./gradlew -x test sonarqube -Dsonar.host.url=http://XXXX.XXXXX.com:9000/sonarqube -Dsonar.login=xxxxxxxxxxxxxxxxxxxxx -Dsonar.analysis.mode=preview -Dsonar.gitlab.commit_sha=$CI_COMMIT_REF -Dsonar.gitlab.ref_name=$CI_COMMIT_REF_NAME -Dsonar.gitlab.project_id=$CI_PROJECT_ID --stacktrace

如果分析失败,如何确保推送失败?我需要使用webhook吗。是否有示例CI文件?

@jibsonline,您可以参考下面链接中提供的我的答案。 然而,脚本只回答了如何打破基于声纳的构建分析并显示结果


由于gitlab会触发构建,因此在推送更改后,不建议设置自动工具来代表您还原代码更改。每当构建失败时,编写脚本(依赖项),使代码不会被部署。由于未部署代码,因此不会影响您的环境。另外,在构建失败时设置电子邮件配置。

您找到问题的答案了吗?