没有授权在Travis CI上使用sonarqube扫描仪执行任何声纳分析

ugl*_*bob 2 sonarqube sonarqube-scan

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

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

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

我在Travis CI上运行了sonarqube-scanner它突然停止了以下错误:

"ERROR: You're not authorized to execute any SonarQube analysis. Please contact your SonarQube administrator."
Run Code Online (Sandbox Code Playgroud)

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

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

小智 5

使用mvn我必须传递给sonarcloud.io参数 -Dsonar.branch=master

所有命令都是这样的:

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}
Run Code Online (Sandbox Code Playgroud)

这修复了以下错误:

您只被授权执行本地(预览)SonarQube分析,而无需将结果推送到SonarQube服务器.请联系您的SonarQube管理员.

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


G. *_*eam 0

一般来说:您需要在分析参数中传递具有分析权限的帐户的用户令牌。使用sonar.login属性来做这件事。

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