无权在 Travis CI 上使用 sonarqube 扫描仪执行任何 sonarqube 分析

Not authorized to execute any sonarqube analysis with sonarqube scanner on Travis CI

我最近开始在一个开源项目中使用 Travis CI 和 sonarqube,并且 运行 遇到了 sonarqube-scanner 的问题。

我的 Travis CI 页面可以在这里看到:https://travis-ci.org/uglyoldbob/decompiler

我的 sonarqube 页面可以在这里看到:https://sonarqube.com/overview?id=uglyoldbob_decompiler

我在 Travis 上 运行ning sonarqube-scanner CI 它突然停止工作并出现以下错误:

"ERROR: You're not authorized to execute any SonarQube analysis. Please contact your SonarQube administrator."

我正在使用在 sonarqube 上生成的令牌并将其添加到 Travis CI 的环境变量中。当我注意到问题并使用 Travis 更新环境变量时,我生成了一个新令牌,但它没有改变任何东西。

我该怎么做才能解决这个问题?

一般情况:您需要在分析参数中从具有分析权限的帐户传递用户令牌。使用 sonar.login 属性 即可。

具体来说: 我从你的 travis 日志中看到你 在 sonar.login 中传递了一个看起来像用户令牌的东西属性。 但是 您将它传递给 sonar.host.url=http://nemo.sonarqube.org。您需要将其更改为 https://sonarqube.com

使用 mvn 我必须将参数 -Dsonar.branch=master

传递给 sonarcloud.io

所有命令都是这样的:

mvn clean org.jacoco:jacoco-maven-plugin:prepare-agent package sonar:sonar -Dsonar.host.url=https://sonarcloud.io -Dsonar.organization={ORG_KEY} -Dsonar.login={GENERATED_KEY_ON_SONARCLOUD_SECURITY} -Dsonar.branch={BRANCH_NAME}

这修复了以下错误:

You're only authorized to execute a local (preview) SonarQube analysis without pushing the results to the SonarQube server. Please contact your SonarQube administrator.

记得在sonarcloud管理控制台上添加分析权限。

"Chances are that the SonarCloud project key inferred from your Gradle configuration is already used by someone else"(https://community.sonarsource.com/t/unauthorized-exception-on-first-sonarqube-analysis/333/2 的 Fabrice Bellingard)

选择修复:

-Dsonar.projectKey=$my_own_project_key

或通过build.gradle:

sonarqube { properties { property 'sonar.projectKey', '$my_own_project_key' } }

就我而言,这是一个权限问题。 管理 >> 安全 >> 全局权限

我们有一个类似的问题,由代理配置引起。通过在 settings.xml

的 nonProxyHost 配置中添加声纳服务器 ip 来解决

在我的例子中,我为项目输入了错误的密钥

在我的例子中,是防火墙规则阻止了分析文件的上传,但这条消息非常通用,可以是任何内容:(。