SonarQube дает неверный результат анализа: в отчете есть статус «УСПЕХ», но на обзорной доске проекта SQ пометка «не удалось» - PullRequest
0 голосов
/ 18 февраля 2020

Я использую

  • SonarQube CE 7.9.2 (сборка 30863)
  • GitLab CE 12.3.5
  • GitLab Runner 12.3.0

    для анализа проекта hello-world Kotlin.

Следующий файл gitlab-ci.yaml используется:

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"

В задании gitlab У меня есть следующий журнал:

[INFO] [org.sonarqube.gradle.SonarQubeTask] АНАЛИЗ УСПЕШНЫЙ, вы можете просмотреть http://192.168.74.12: 9000 / dashboard? id = sonarqube-scanner -gradle

[INFO] [org.sonarqube.gradle.SonarQubeTask] Обратите внимание, что вы сможете получить доступ к обновленной панели мониторинга, как только сервер обработает отправленный отчет анализа

[ ИНФОРМАЦИЯ] [org.sonarqube.gradle.SonarQubeTask] Подробнее об обработке отчетов по http://192.168.74.12: 9000 / api / ce / task? Id = AXBXsJN8PnOJAFLW2U-H

In отчет об анализе SonarQube (../api/ce/task?id=AXBXsJN8PnOJAFLW2U-H) У меня есть это:

{
  "task": {
    "id": "AXBXsJN8PnOJAFLW2U-H",
    "type": "REPORT",
    "componentId": "AXBTqVrMTQSyj7kvwjzu",
    "componentKey": "sonarqube-scanner-gradle",
    "componentName": "sonarqube-scanner-gradle",
    "componentQualifier": "TRK",
    "analysisId": "AXBXsJPgfxhAM6VYdtgY",
    "status": "SUCCESS",
    "submittedAt": "2020-02-18T09:45:54+0000",
    "submitterLogin": "admin",
    "startedAt": "2020-02-18T09:45:54+0000",
    "executedAt": "2020-02-18T09:45:57+0000",
    "executionTimeMs": 2423,
    "logs": false,
    "hasScannerContext": true,
    "organization": "default-organization",
    "warningCount": 0,
    "warnings": []
  }
}

Однако обзорная доска проекта SonarQube дает мне другое изображение: * 10 37 *enter image description here

Почему такая разница?

Как можно исправить это поведение, чтобы сбой при сборке основывался на значке Quality Gate, как, например, в SonarQube v. 7.5?

...