5

我正在尝试从 jenkins 向 sonarqube 发送工作。但是,当我运行作业时,我收到一个错误说 te follow

ERROR: Error during Sonar runner execution
org.sonar.runner.impl.RunnerException: Unable to execute Sonar
    at org.sonar.runner.impl.BatchLauncher$1.delegateExecution(BatchLauncher.java:91)
    at org.sonar.runner.impl.BatchLauncher$1.run(BatchLauncher.java:75)
    at java.security.AccessController.doPrivileged(Native Method)
    at org.sonar.runner.impl.BatchLauncher.doExecute(BatchLauncher.java:69)
    at org.sonar.runner.impl.BatchLauncher.execute(BatchLauncher.java:50)
    at org.sonar.runner.api.EmbeddedRunner.doExecute(EmbeddedRunner.java:102)
    at org.sonar.runner.api.Runner.execute(Runner.java:100)
    at org.sonar.runner.Main.executeTask(Main.java:70)
    at org.sonar.runner.Main.execute(Main.java:59)
    at org.sonar.runner.Main.main(Main.java:53)
Caused by: Not authorized. Please check the properties sonar.login and sonar.password.

我使用的系统如下。我有jenkins 2.7.1SonarQube 5.6并且SonarQube Runner 2.4也安装在我的服务器上。

要登录到 jenkins 和 sonarqube,我使用的 ldap 只包含 ldap 用户,不存在本地用户。

在我的詹金斯设置中,我按如下方式设置 SonarQube 在此处输入图像描述

该令牌是在 SonarQube 的管理员帐户中创建的 在此处输入图像描述

当我创建作业时,我为声纳扫描仪做了一个新的构建步骤。在我的项目中,我创建了一个包含以下信息的 sonar-project.properties 文件

sonar.projectKey=org.sonarqube:php-ut-sq-scanner
sonar.projectName=vanbenthem :: PHPUnit :: SonarQube Scanner
sonar.projectVersion=1.0

sonar.sources=src
sonar.tests=tests

sonar.language=php

sonar.sourceEncoding=UTF-8

# Reusing PHPUnit reports
sonar.php.coverage.reportPath=reports/phpunit.coverage.xml
sonar.php.tests.reportPath=reports/phpunit.xml

在此处输入图像描述

谁能告诉我我做错了什么?据我了解,自 SonarQube 5.4 以来,我不应该提供登录名和密码 希望有人能够帮助我

根据 nicloas 的要求

这是 jenkins 的控制台输出和关于我的 ldap 的声纳设置。

在此处输入图像描述 在此处输入图像描述

4

1 回答 1

0

好吧,我在使用 Bitbucket 管道和 Sonarqube 时遇到了同样的问题。事实证明,我使用的 Sonarqube 身份验证令牌不正确。它被配置为SONAR_TOKEN在 Bitbucket 的存储库变量中并更正它解决了这个问题。

请确保仔细检查Server authentication token您在此处输入的内容。

于 2021-08-16T17:52:30.480 回答