Как связать Jenkins с SonarQube 4.3?

Я пытаюсь перенести задания по сборке из Хадсона в Дженкинс (версия 2.32.1). Сборка Maven работает нормально, но шаг сборки Maven для SonarQube не работает. Я использую плагин Jenkins SonarQube версии 2.5.

Моя конфигурация SonarQube (после добавления сканера SonarQube):

Конфигурация SonarQube

Моя среда сборки (после настройки сканера SonarQube с использованием переменных среды):

Построить среду

Мой этап сборки Maven (после анализа с помощью SonarQubeScanner для Maven):

Шаг сборки

Журнал консоли Jenkins:

[INFO] SonarQube version: 4.3
INFO: Default locale: "en_US", source code encoding: "cp1252"
INFO: Work directory: /home/jenkins/.jenkins/jobs/test/workspace/target/sonar
INFO: SonarQube Server 4.3
[INFO] [15:34:56.104] Load batch settings
[INFO] [15:34:56.248] User cache: /home/jenkins/.sonar/cache
[INFO] [15:34:56.254] Install plugins
[INFO] [15:34:56.320] Install JDBC driver
[WARN] [15:34:56.329] H2 database should be used for evaluation purpose only
[INFO] [15:34:56.329] Create JDBC datasource for jdbc:h2:tcp://localhost/sonar
[ERROR] Fail to connect to database

Журналы показывают, что Дженкинс использовал неверный URL базы данных (H2 вместо PostgreSQL).

Что я не прав?

1 ответ

Я нашел обходной путь. Я посмотрел на исходный код плагина Jenkins SonarQube (потому что не смог найти документацию) и нашел список открытых переменных среды:

Введите переменные среды, связанные с выбранной установкой SonarQube.
Следующие переменные могут быть установлены в зависимости от конфигурации:

  • SONAR_HOST_URL
  • SONAR_AUTH_TOKEN
  • SONAR_LOGIN
  • SONAR_PASSWORD
  • SONAR_JDBC_URL
  • SONAR_JDBC_USERNAME
  • SONAR_JDBC_PASSWORD
  • SONAR_EXTRA_PROPS
  • SONAR_MAVEN_GOAL - предоставляет правильную цель Maven на основе "версии sonar-maven-plugin", указанной для экземпляра SonarQube.

Эти переменные полезны при настройке анализа SonarQube с использованием стандартных шагов сборки, таких как Maven, Gradle, Ant и сценарии командной строки. Эта функция не нужна, если вы используете этапы сборки "SonarQube Scanner" или "SonarQube Scanner for MSBuild".

После добавления -Dsonar.jdbc.url=$SONAR_JDBC_URL на мой шаг сборки:

введите описание изображения здесь это работает отлично.

Другие вопросы по тегам