я добавил анализ шаг SonarQube Scanner моей Дженкинс строить, но шаг не удается:сервера SonarQube не может быть достигнут с помощью Jenkins Docker
[Test_gitlab] $ /var/jenkins_home/tools/hudson.plugins.sonar.SonarRunnerInstallation/http_INTERNAL_DOCKER_IP_ADDRESS_9000/bin/sonar-scanner -e -Dsonar.host.url=SERVER_IP_ADDRESS:9000 ******** -Dsonar.projectBaseDir=/var/jenkins_home/workspace/Test_gitlab
INFO: Option -e/--errors is no longer supported and will be ignored
INFO: Scanner configuration file: /var/jenkins_home/tools/hudson.plugins.sonar.SonarRunnerInstallation/http_INTERNAL_DOCKER_IP_ADDRESS_9000/conf/sonar-scanner.properties
INFO: Project root configuration file: NONE
INFO: SonarQube Scanner 2.8
INFO: Java 1.8.0_102 Oracle Corporation (64-bit)
INFO: Linux 3.10.0-327.10.1.el7.x86_64 amd64
INFO: User cache: /var/jenkins_home/.sonar/cache
ERROR: SonarQube server [SERVER_IP_ADDRESS:9000] can not be reached
INFO: ------------------------------------------------------------------------
INFO: EXECUTION FAILURE
INFO: ------------------------------------------------------------------------
INFO: Total time: 0.214s
INFO: Final Memory: 4M/209M
INFO: ------------------------------------------------------------------------
ERROR: Error during SonarQube Scanner execution
org.sonarsource.scanner.api.internal.ScannerException: Unable to execute SonarQube
at org.sonarsource.scanner.api.internal.IsolatedLauncherFactory$1.run(IsolatedLauncherFactory.java:84)
at org.sonarsource.scanner.api.internal.IsolatedLauncherFactory$1.run(IsolatedLauncherFactory.java:71)
at java.security.AccessController.doPrivileged(Native Method)
at org.sonarsource.scanner.api.internal.IsolatedLauncherFactory.createLauncher(IsolatedLauncherFactory.java:71)
at org.sonarsource.scanner.api.internal.IsolatedLauncherFactory.createLauncher(IsolatedLauncherFactory.java:67)
at org.sonarsource.scanner.api.EmbeddedScanner.doStart(EmbeddedScanner.java:218)
at org.sonarsource.scanner.api.EmbeddedScanner.start(EmbeddedScanner.java:156)
at org.sonarsource.scanner.cli.Main.execute(Main.java:72)
at org.sonarsource.scanner.cli.Main.main(Main.java:61)
Caused by: java.lang.IllegalStateException: Fail to download libraries from server
at org.sonarsource.scanner.api.internal.Jars.downloadFiles(Jars.java:93)
at org.sonarsource.scanner.api.internal.Jars.download(Jars.java:70)
at org.sonarsource.scanner.api.internal.JarDownloader.download(JarDownloader.java:39)
at org.sonarsource.scanner.api.internal.IsolatedLauncherFactory$1.run(IsolatedLauncherFactory.java:75)
... 8 more
Caused by: java.lang.IllegalArgumentException: unexpected url: SERVER_IP_ADDRESS:9000/batch_bootstrap/index
at org.sonarsource.scanner.api.internal.shaded.okhttp.Request$Builder.url(Request.java:141)
at org.sonarsource.scanner.api.internal.ServerConnection.callUrl(ServerConnection.java:109)
at org.sonarsource.scanner.api.internal.ServerConnection.downloadString(ServerConnection.java:98)
at org.sonarsource.scanner.api.internal.Jars.downloadFiles(Jars.java:78)
... 11 more
ERROR:
ERROR: Re-run SonarQube Scanner using the -X switch to enable full debug logging.
ERROR: SonarQube scanner exited with non-zero code: 1
Finished: FAILURE
Моего SonarQube Scanner объявлен в Дженкинс глобальной конфигурации инструмента. Используемое имя - «http://SERVER_IP_ADDRESS:9000». Это тот же адрес, что и базовый URL-адрес сервера, который я установил в общих настройках SonarQube.
Я использую Docker: Дженкинс находится в контейнере Докера, а также SonarQube.
«Неожиданный url», упомянутый в stacktrace SERVER_IP_ADDRESS:9000/batch_bootstrap/index
, можно открыть в браузере, , который отображает sonar-scanner-engine-shaded-6.1.jar|SOME_LETTERS_AND_NUMBERS
. Так почему же Дженкинс не может добраться до сервера?
Я также попытался с Докер внутренний IP-адрес, который может быть найден с:
docker inspect SONARQUBE_CONTAINER_ID | grep IP
Действительно, мы можем увидеть в первой строке консоли, которая устанавливается неправильный хост URL: 'сонар-сканер -e -Dsonar.host.url = server_ip_address: 9000' Я попытался изменить значения по умолчанию в sonar-scanner.properties, но неправильный URL-адрес хоста не появляется оттуда. Я попытаюсь найти, какой сценарий вызывает сонар-сканер с этим аргументом. – RotS
Я, наконец, нашел место, где был установлен «неожиданный url»: Управление Jenkins -> Конфигурирование системы -> Серверы SonarQube -> \t Установки SonarQube -> URL-адрес сервера Отсутствие там 'http: //'. Я думал, что проверил каждую страницу Дженкинса, но не эту. Благодарим вас за помощь. – RotS