【问题标题】:Travis CI SonarCloud error "Project was never analyzed. A regular analysis is required before a branch analysis"Travis CI SonarCloud 错误“从未分析过项目。在分支分析之前需要定期分析”
【发布时间】:2019-10-06 04:32:11
【问题描述】:

您好,我正在使用 Travis CI 为 Maven 应用程序自动覆盖 SonarCloud 上的代码。

现在,在本地运行 sonar:sonar 命令会在 SoundCloud 上提交报告,我可以使用 Branch master 看到如下所示的报告

现在我还配置了 .travis.yml 文件,以便在每个构建时自动将报告推送到 SoundCloud,如下所示

但是当 Travis CI 触发构建时,它会失败并出现以下错误

[INFO] Load project branches
[INFO] Load project branches (done) | time=114ms
[INFO] Load project pull requests
[INFO] Load project pull requests (done) | time=116ms
[INFO] Load branch configuration
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 27.884 s
[INFO] Finished at: 2019-05-19T16:47:23Z
[INFO] Final Memory: 93M/496M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.sonarsource.scanner.maven:sonar-maven-plugin:3.6.0.1398:sonar (default-cli) on project safenest-java-server: 

 Project was never analyzed. A regular analysis is required before a branch analysis`

我是 SonarCloud 的新手,找不到太多文档来获得这方面的帮助。有人能解释一下A regular analysis is required 的确切含义吗?以及如何解决这个问题?

提前致谢。

【问题讨论】:

  • 今天这仍然是一个问题吗?

标签: maven sonarqube code-coverage travis-ci sonarcloud


【解决方案1】:

错误信息的意思是:

请先分析主分支,然后再分析其他分支

您必须在 Travis 上使用此配置构建主存储库分支(通常为 master)。之后,您应该能够分析所有其他分支。当我第一次尝试分析将我的项目与SonarCloud 集成的功能分支时,我遇到了同样的问题。我刚刚把我的功能合并到master,推送了,我的项目已经分析成功了。我的配置和你的差不多:

language: java
jdk: openjdk8
env: MVN_VERSION='3.6.0'
addons:
  sonarcloud:
    organization: $SONAR_ORGANIZATION
    token:
      secure: $SONAR_TOKEN
before_install:
  - wget https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/$MVN_VERSION/apache-maven-$MVN_VERSION-bin.zip
  - unzip -qq apache-maven-$MVN_VERSION-bin.zip
  - export M2_HOME=$PWD/apache-maven-$MVN_VERSION
  - export PATH=$M2_HOME/bin:$PATH
script:
  - mvn -B -e verify site
  - if [ -n "$SONAR_TOKEN" ]; then
      mvn -B -e sonar:sonar -Dsonar.sources=pom.xml,src/main;
    fi

【讨论】:

    【解决方案2】:

    您应该检查以下参数:

    1. Project key 在 maven 构建期间生成并在 SonarCloud 上生成(或确保您设置了在 SonarCloud 上生成的 sonar.projectKey 属性)。
    2. 检查提供的 Token 值是否与 SonarCloud 上的值匹配(您可以在项目设置页面提供自己的值。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-02-22
      • 1970-01-01
      • 2017-02-01
      • 2023-03-30
      • 1970-01-01
      • 2016-05-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多