将Travis CI与Sonarcloud一起使用时出错:未经授权。请检查属性sonar.login和sonar.password

ron*_*190 6 maven travis-ci sonarqube sonarcloud

我正在遵循sonarcloud.io上的入门说明,以从计算机执行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
Run Code Online (Sandbox Code Playgroud)

手动执行有效:

[INFO] ANALYSIS SUCCESSFUL, you can browse https://sonarcloud.io/dashboard/index
/jsql-injection:jsql-injection
Run Code Online (Sandbox Code Playgroud)

但是,当我准备使用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]
Run Code Online (Sandbox Code Playgroud)

如果我添加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'
Run Code Online (Sandbox Code Playgroud)

我还使用了示例脚本

您知道为什么secure令牌会被忽略以及为什么默认配置会失败吗?

ron*_*190 2

该标签似乎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'
Run Code Online (Sandbox Code Playgroud)

  • 现在是正确的加密语法: `travis encrypt 309473973909Z09R830 -r my-org/my-repo` 没有变量名,没有引号。 (2认同)