Mar*_*oth 2 java github maven travis-ci sonarqube
我工作的项目(日食/扫描)使用Travis和Sonar进行持续集成和代码分析.
上周,我注意到构建在声纳步骤失败了:
ERROR: Error during SonarQube Scanner execution
org.sonar.squidbridge.api.AnalysisException: Please provide compiled classes of your project with sonar.java.binaries property
Run Code Online (Sandbox Code Playgroud)
经过一番研究,我想我解决了这个问题,通过更新的addons:部分(sonarqube到sonarcloud),并切换到使用- mvn -q sonar:sonar,而不是- sonar-scanner在script:一节的.travis.yml文件.
现在,在声纳步骤中出于不同原因,外部拉动请求(来自叉子)使其通过集成测试失败:
$ mvn -q sonar:sonar
...
[ERROR] SonarQube server [http://localhost:9000] can not be reached
[ERROR] Failed to execute goal org.sonarsource.scanner.maven:sonar-maven-plugin:3.3.0.603:sonar (default-cli) on project org.eclipse.scanning: Unable to execute SonarQube: Fail to get bootstrap index from server: Failed to connect to localhost/127.0.0.1:9000: Connection refused (Connection refused) -> [Help 1]
Run Code Online (Sandbox Code Playgroud)
这似乎与日志中早期的差异有关:
Encrypted environment variables have been removed for security reasons.
See https://docs.travis-ci.com/user/pull-requests/#Pull-Requests-and-Security-Restrictions
Run Code Online (Sandbox Code Playgroud)
和一个完全缺失的SonarCloud插件部分.
要查看差异,请将失败的构建#625(来自分叉仓库的拉取请求)与成功构建#628(来自仓库中的拉取请求)进行比较.
大约一个月前,外拉工作没有问题,例如建造#536过去了,有运行Setting environment variables from repository settings,SonarCloud addon并sonar-scanner正确.
然而,后续构建,例如build#538已通过,但仅仅是因为sonar-scanner跳过分析,exited with 0即使它们无法运行.
虽然我可能只是在外部拉取请求上禁用Sonar,但如果我可以修复我们的存储库,那么我们在内部和外部拉取请求上都进行了集成测试和代码分析,这样会很好
请注意,这个问题已经取代了如何让Sonarcloud运行来自Travis,Maven和github的分叉请求,这些请求专注于潜在的问题,而不是试图修复一些症状.
您的PR分析正在尝试(并且失败)使用默认服务器:localhost:9000.
在另一种情况下,您将更新settings.xml以指定位置,但由于您使用的是Travis,因此您将在命令行上传递它:mvn sonar:sonar -Dsonar.host.url=https://sonarcloud.io
顺便说一下,这是在你正常的Travis构建中工作,因为Travis的SonarQube集成特别是Travis- SonarCloud集成,因此服务器自动填充.
| 归档时间: |
|
| 查看次数: |
1502 次 |
| 最近记录: |