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

问题描述 投票:2回答:3

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

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

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

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

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

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

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

sonarqube sonarqube-scan
3个回答
0
投票

一般情况:您需要从分析参数中具有分析权限的帐户传递用户令牌。使用sonar.login属性来执行此操作。

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


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}

这修复了以下错误:

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

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


0
投票

“很可能是从你的Gradle配置中推断出的SonarCloud项目密钥已被其他人使用”(Fabrice Bellingard,https://community.sonarsource.com/t/unauthorized-exception-on-first-sonarqube-analysis/333/2

选择修复:

-Dsonar.projectKey = $ my_own_project_key

或者通过build.gradle

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

© www.soinside.com 2019 - 2024. All rights reserved.