Travis CI SonarCloud错误“从未对项目进行过分析。在进行分支分析之前,需要进行常规分析”

时间:2019-05-19 17:11:18

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

嗨,我正在使用Travis CI为Maven应用程序在SonarCloud上自动执行代码覆盖。

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

enter image description here

现在,我还配置了.travis.yml文件,以将报表自动推送到如下所示的每个内部版本的 SoundCloud

enter image description here

但是当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的确切含义吗?以及如何解决这个问题?

谢谢。

2 个答案:

答案 0 :(得分:0)

该错误消息表示:

  

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

您必须使用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

答案 1 :(得分:0)

您应该检查以下参数:

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