我有 java 项目,我想将它与 SonarCloud 集成我遵循官方步骤:
使用 SonarQube 扫描仪检查代码 #
在检查您的代码之前,您需要:
- 在 SonarCloud 上为您的帐户创建用户身份验证令牌。
- 加密此令牌 travis encrypt abcdef0123456789 或在您的存储库设置中定义 SONAR_TOKEN
- 找到您想要推动项目的 SonarCloud.io 组织并获取其密钥
- 为您的项目创建一个 sonar-project.properties 文件(请参阅文档)。然后将以下行添加到您的 .travis.yml 文件中以触发分析:
添加我的 travis.yml 文件
addons:
sonarcloud:
organization: "xelian-github"
token:
secure: ${SONAR_TOKEN}
branches:
- master
script:
# other script steps might be done before running the actual analysis
- sonar-scanner
其中 SONAR_TOKEN 是 Travis CI 上的一个变量,指向来自 SonarCloud 的密钥。(未加密)。 从 SonarCloud 我添加权限
但是当我开始 travis 构建时,出现以下错误:
Setting environment variables from repository settings
$ export SONAR_TOKEN=[secure]
....
ERROR: Error during SonarQube Scanner execution
ERROR: You're only authorized to execute a local (preview) SonarQube analysis without pushing the results to the SonarQube server. Please contact your SonarQube administrator.
ERROR:
ERROR: Re-run SonarQube Scanner using the -X switch to enable full debug logging.
在我看来,我的 travis 没有权限将结果上传到 SonarCloud。是令牌中的问题还是某些 Sonar 配置中的问题。