Sonarcloud未经Travis CI和Maven的授权

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

我在我的Github上有一个实验项目,用于实践CI服务集成。我无法使用Sonarcloud。

我同时阅读了Tavis CI + Sonarcloud教程和Maven example。 Mz的第一个困惑始于令牌和属性文件,而第一个消息源建议创建sonar-project.properties文件,而Maven示例源没有任何文件。这里的文档非常不清楚。

我忽略了属性文件,并且完成了以下步骤

  1. 我的项目在sonarcloud.io上生成的令牌:e53.....239
  2. travis-encrypt.github.io上的加密令牌,因为它是Windows用户最舒适的方法。以下两个输入结果为g3s.....+Q=

    • NicharNET/Gistintex
    • SONAR_TOKEN="e53...239"-我尝试过在引号和不引号之间进行换行。
  3. 添加到设置->环境变量键SONAR_TOKEN,具有生成的Sonarcloud令牌e53...239的值。

  4. 已完成travis.yml,带有安全令牌:

    language: java
    sudo: false
    jdk: oraclejdk8
    
    addons:
        sonarcloud:
        organization: "nicharnet-github"
        token:
            secure: "g3sLTdS597mklh1I9HgXr71NRCiOk2n9I41PL2wklnAidwibfocyEcWvSQxjmbhNTjdrcW0cAfzh73Ago8hwfdloraryDY9Ng9L1runxayShtPOqZMPI6nz8zUwLaDfqJVwXWv6A3xICOMFl0UhvF351GPErHhrUO7YIa8el3kESeotYy7kkTzeQ7BA239y7EVFw8H4OCW2gjP2G/InxKnlXfNjgQA3GsnZdJ3uWO3No5kwt5ybfuCCV42cp/UczLIzNbo0RW9Z9jBl5IFMzJaUQUfWV3Pp5QEPmpB7Anr/4W1EtjJPjpSIC/+jBmbrkvC/CSzzTPjaH9LzEQ5m4F5JpRw01blqgKH/153qfs1jRgZK6WVRuhe7yAATHCO/IM0DM+kC0mUJTcXKyv9pRm93E4wp+KzdHYy0LdA83wFgMmvlB8pcm20ImAe7B2SBFx5TGtETa6ea6k2BS+DfBXe6sLBnrl1zZB8nxCDnYiwT1BJFxizgv3EJ6Krjd3cSSxr6PGnXDD/yTeFNJarpMbA+wR6AQetJ89LiDBXYiw6GPgWk/A4vUDIsIaXGqCpydeZHkr2ufS1Ap4yYS0Um2GeDeQXTsBTSCg7BViFgduUI1NPYT1avKg7b64nsdpdjBVofOvzJsgiT66WlaJmt23BUCJsnmXwwEcW1387b4G+Q="
    
    script:
        - mvn clean install org.jacoco:jacoco-maven-plugin:prepare-agent sonar:sonar
    
  5. 已将更改提交并推送到存储库中,Travis CI开始起作用并导致:

    无法在项目gistintex上执行目标org.sonarsource.scanner.maven:sonar-maven-plugin:3.4.1.1168:sonar(default-cli):未经授权。请检查属性sonar.login和sonar.password。

可以在我的Travis CI build上找到错误。我该怎么办?

[我已经浏览了Error using Travis CI with Sonarcloud: Not authorized. Please check the properties sonar.login and sonar.password SO问题和Travis CI Sonarqube analysis文章,但不幸的是,这并没有帮助我。我的GitHub project source


我已经尝试将这些插件添加到pom.xml并在本地运行分析:

  • org.codehaus.mojo:sonar-maven-plugin:5.1
  • org.sonarsource.scanner.maven:sonar-maven-plugin:3.4.1.1168

在我的机器上运行此命令可获得正确的Sonarcloud analysis

mvn sonar:sonar \
   -Dsonar.organization=nicharnet-github \
   -Dsonar.host.url=https://sonarcloud.io \
   -Dsonar.login=e53.....239

但是,我的目标是使用Travis CI在每个已提交的版本之后运行分析。我确定密钥加密错误,但是我无法确切知道。

java maven sonarqube travis-ci sonarcloud
1个回答
0
投票

密钥加密问题通常发生在您执行生成而没有针对travis.com而不是travis.org的登录命令时>

为了在每次提交上运行,您都可以将回购与SonarCloud Scan连接,在sonarcloud.io项目页面中生成一个秘密,然后您将在其中找到修改.travis.yml的说明

如果使用travis.org

travis encrypt <YOUR_SONAR_SECRET>

如果使用travis.com

travis login --pro

然后像这样生成令牌:

travis encrypt --pro <YOUR_SONAR_SECRET>

最后,您需要将管道指令添加到.travis.yml文件中

应在触发Travis CI存储库设置时进行检查enter image description here

这里是一些相关链接:

Error using Travis CI with Sonarcloud: Not authorized. Please check the properties sonar.login and sonar.password

https://docs.travis-ci.com/user/encryption-keys/#usage

https://github.com/marketplace/actions/sonarcloud-scan

https://sonarcloud.io/documentation/integrations/github/

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