SonarQube提供了错误的分析结果:报告中的状态为“成功”,但SQ项目概述板中的标记为“失败”

时间:2020-02-18 10:51:35

标签: sonarqube gitlab gitlab-ci sonarqube-scan

我用

  • SonarQube CE 7.9.2(内部版本30863)

  • GitLab CE 12.3.5

  • GitLab Runner 12.3.0

    分析Kotlin的Hello World项目。

使用下一个gitlab-ci.yaml:

<script>
export default {

  beforeDestroy() {
   //Try like this
    this.confirmDelete();
    console.log('item will be deleted');

  }
}
</script>

在gitlab作业运行日志中,我有下一个:

[INFO] [org.sonarqube.gradle.SonarQubeTask]分析成功,您可以浏览http://192.168.74.12:9000/dashboard?id=sonarqube-scanner-gradle

[INFO] [org.sonarqube.gradle.SonarQubeTask]请注意,一旦服务器处理了提交的分析报告,您就可以访问更新的仪表板

[INFO] [org.sonarqube.gradle.SonarQubeTask]有关http://192.168.74.12:9000/api/ce/task?id=AXBXsJN8PnOJAFLW2U-H上的报告处理的更多信息

在SonarQube分析报告(../api/ce/task?id=AXBXsJN8PnOJAFLW2U-H)中,我有以下内容:

image: java:8-jdk

before_script:
  #  - echo `pwd` # debug
  #  - echo "$CI_BUILD_NAME, $CI_BUILD_REF_NAME $CI_BUILD_STAGE" # debug
  - export GRADLE_USER_HOME=`pwd`/.gradle

cache:
  paths:
    - .gradle/wrapper
    - .gradle/caches

variables:
  SONAR_URL: http://192.168.74.12:9000/
  SONAR_TOKEN: <SONAR_TOKEN>
  SONAR_PROJECT_KEY: sonarqube-scanner-gradle
  SONAR_PROJECT_NAME: sonarqube-scanner-gradle
  GITLAB_ACCESS_TOKEN: <GITLAB_ACCESS_TOKEN>

sonarqube_master_job:
  stage: test
  only:
    - master
  script:
    - ./gradlew --debug :sonarqube
      -Dsonar.login=$SONAR_TOKEN
      -Dsonar.host.url=$SONAR_URL
      -Dsonar.projectName=$SONAR_PROJECT_NAME
      -Dsonar.projectKey=$SONAR_PROJECT_KEY
      -Dsonar.gitlab.user_token="$GITLAB_ACCESS_TOKEN"
      -Dsonar.gitlab.project_id=$CI_PROJECT_PATH
      -Dsonar.gitlab.commit_sha=$CI_COMMIT_SHA
      -Dsonar.gitlab.ref_name=$CI_COMMIT_REF_NAME
      -Dsonar.analysis.mode=publish

sonarqube_preview_feature_job:
  stage: test
  only:
    - /^task\/*/
  script:
    - git checkout origin/master
    - git merge $CI_COMMIT_SHA --no-commit --no-ff
    - ./gradlew --debug :sonarqube
      -Dsonar.login=$SONAR_TOKEN
      -Dsonar.host.url=$SONAR_URL
      -Dsonar.projectName=$SONAR_PROJECT_NAME
      -Dsonar.projectKey=$SONAR_PROJECT_KEY
      -Dsonar.gitlab.user_token="$GITLAB_ACCESS_TOKEN"
      -Dsonar.gitlab.project_id=$CI_PROJECT_PATH
      -Dsonar.gitlab.commit_sha=$CI_COMMIT_SHA
      -Dsonar.gitlab.ref_name=$CI_COMMIT_REF_NAME
      -Dsonar.analysis.mode=publish

after_script:
  - echo "End CI"

但是,SonarQube项目概述板为我提供了不同的画面: enter image description here

为什么会有这种区别?

如何解决该问题,以使基于Quality Gate标记的构建失败,例如在SonarQube v。7.5中?

0 个答案:

没有答案