嗨,我正在使用Travis CI为Maven
应用程序在SonarCloud上自动执行代码覆盖。
现在,在本地运行sonar:sonar
命令会在SoundCloud上提交报告,我可以通过分支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
的确切含义吗?以及如何解决这个问题?
谢谢。
答案 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)
您应该检查以下参数:
Project key
在Maven构建期间生成并在SonarCloud上生成(或确保您设置在SonarCloud上生成的 sonar.projectKey 属性)。