Переменные CI / CD GitLab SonarQube не передаются в конвейер - PullRequest
0 голосов
/ 04 февраля 2020

Я пытался интегрировать GitLab CI / CD с SonarQube 8.1 на основе следующей документации https://docs.sonarqube.org/latest/analysis/gitlab-cicd/.

Я пытался использовать SonarScanner для примеров конфигураций Maven

image: maven:latest
variables:
  SONAR_TOKEN: "your-sonarqube-token"
  SONAR_HOST_URL: "http://your-sonarqube-url"
  GIT_DEPTH: 0
sonarqube-check:
  script:
    - mvn verify sonar:sonar -Dsonar.qualitygate.wait=true
  allow_failure: true
  only:
    - merge_requests
    - master

Проблема в том, что он выглядит как SONAR_HOST_URL, и, вероятно, SONAR_TOKEN игнорируется по неясной причине. При просмотре журнала конвейера я получаю

[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.sonarsource.scanner.maven:sonar-maven-plugin:3.6.0.1398:sonar (default-cli) on project sonar-java-test: Unable to execute SonarQube: Fail to get bootstrap index from server: Failed to connect to localhost/0:0:0:0:0:0:0:1:9000: Connection refused (Connection refused) -> [Help 1]

Я попытался обойти это, установив переменные с помощью переменных CI / CD gitlab (12.3.2), но это не работает

enter image description here

Есть идеи?

1 Ответ

1 голос
/ 06 февраля 2020

Документация кажется не актуальной.

Вы должны добавить -Dsonar.host.url и -Dsonar.host.url аргументы в команду maven, чтобы изменить настройки по умолчанию:

image: maven:latest
variables:
  SONAR_TOKEN: "your-sonarqube-token"
  SONAR_HOST_URL: "http://your-sonarqube-url"
  GIT_DEPTH: 0
sonarqube-check:
  script:
    - mvn verify sonar:sonar -Dsonar.qualitygate.wait=true -Dsonar.host.url=$SONAR_HOST_URL -Dsonar.login=$SONAR_TOKEN
  allow_failure: true
  only:
    - merge_requests
    - master
...