我在sonarcloud.io上执行Get started指令,从我的计算机上执行Maven的SonarQube扫描程序:
mvn clean org.jacoco:jacoco-maven-plugin:prepare-agent package sonar:sonar \
-Dsonar.host.url=https://sonarcloud.io \
-Dsonar.organization=ron190-github \
-Dsonar.login=9...e
手动执行正在运行:
[INFO] ANALYSIS SUCCESSFUL, you can browse https://sonarcloud.io/dashboard/index
/jsql-injection:jsql-injection
但是,当我准备使用Travis CI自动化时,Not authorized. Please check the properties sonar.login and sonar.password.
失败了:
[ERROR] Failed to execute goal org.sonarsource.scanner.maven:sonar-maven-plugin:3.4.0.905:sonar (default-cli) on project jsql-injection: Not authorized. Please check the properties sonar.login and sonar.password. -> [Help 1]
如果我将sonar.login
添加到mvn
命令,那么它正在运作:
language: java
sudo: false
install: true
addons:
sonarcloud:
organization: "ron190-github"
token:
secure: "v...s="
jdk:
- oraclejdk8
script:
# JaCoCo is used to have code coverage, the agent has to be activated
# Not working
# - mvn clean org.jacoco:jacoco-maven-plugin:prepare-agent package sonar:sonar
- mvn clean org.jacoco:jacoco-maven-plugin:prepare-agent package sonar:sonar -Dsonar.login=9...e
cache:
directories:
- '$HOME/.m2/repository'
- '$HOME/.sonar/cache'
我还使用了example script。
你知道为什么忽略secure
令牌以及为什么它失败了默认配置?
答案 0 :(得分:0)
标签secure
似乎无效,请改用repo变量:
language: java
sudo: false
install: true
addons:
sonarcloud:
organization: "ron190-github"
jdk:
- oraclejdk8
script:
# JaCoCo is used to have code coverage, the agent has to be activated
- mvn clean org.jacoco:jacoco-maven-plugin:prepare-agent package sonar:sonar -Dsonar.login=${SONAR_TOKEN}
cache:
directories:
- '$HOME/.m2/repository'
- '$HOME/.sonar/cache'
答案 1 :(得分:0)
问题在于travis加密。
正确的加密语法:
travis encrypt 309473973909Z09R830 -r my-org/my-repo
没有变量名,没有引号。
如果您在回购目录中运行travis encrypt
,则可以使用
travis encrypt 309473973909Z09R830
请将您的令牌替换为309473973909Z09R830
以上技巧对我有用。想让公众更容易看到它。
积分:webpack docs
答案 2 :(得分:0)
我同意Santhosh Tpixler的看法,即令牌的Travis加密很可能是您的问题。就我而言,我需要travis-ci.com
(与travis-ci.org
相反,请参阅https://devops.stackexchange.com/q/1201),因此必须使用--pro
标志。
在项目目录中,我使用了以下命令:
travis login --pro
travis encrypt --pro <your-hexadecimal-token>