Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Travis、Maven和;github_Java_Maven_Github_Sonarqube_Travis Ci - Fatal编程技术网

Java Travis、Maven和;github

Java Travis、Maven和;github,java,maven,github,sonarqube,travis-ci,Java,Maven,Github,Sonarqube,Travis Ci,我从事的一个项目()使用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 经过一些研究,我想我应该更新插件

我从事的一个项目()使用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
经过一些研究,我想我应该更新
插件:
部分(
sonarqube
sonarcloud
),并切换到使用
-mvn-q sonar:sonar
而不是
.travis.yml
文件的
脚本:
部分中的
-sonar scanner

但是现在,通过集成测试的外部拉动请求(来自forks)在sonar步骤由于不同的原因失败:

$ 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]
这似乎与日志中的早期差异有关:

Encrypted environment variables have been removed for security reasons.
See https://docs.travis-ci.com/user/pull-requests/#Pull-Requests-and-Security-Restrictions
还有一个完全缺失的SonarCloud插件部分

要查看差异,请将(来自分叉回购的拉取请求)与(来自回购内部的拉取请求)进行比较

大约一个月前,external Pull工作没有问题,例如通过了,正确运行了存储库设置中的
设置环境变量
SonarCloud插件
sonar scanner

但是,后续生成(如已通过)只是因为
sonar scanner
跳过了分析,并且
以0退出,即使它们无法运行

虽然我可能只是在外部拉请求上禁用Sonar,但如果我可以修复我们的存储库,这样我们就可以对内部和外部拉请求进行集成测试和代码分析,所以

  • 我最初的修复是正确的吗?
    • 如果是这样,我如何让它同时处理内部和外部请求
    • 如果没有,我应该如何修复原始问题


请注意,此问题已被which取代,它将重点放在潜在问题上,而不是试图修复某些症状。

您可以尝试删除声纳Qube的
目录数据/es
。然后重新启动yoyr SonarQube,SonarQube将重新创建所有ES索引。

您的PR分析正在尝试(但失败)使用默认服务器:localhost:9000

在另一种情况下,您可能需要指定位置,但由于您使用的是Travis,因此将在命令行上传递它:
mvn sonar:sonar-Dsonar.host.url=https://sonarcloud.io


顺便说一句,这在您的正常Travis构建中起作用,因为Travis的SonarQube集成特别是Travis SonarCloud集成,所以服务器会自动填充。

谢谢Mayank Sharma,但据我所知,每个Travis构建都会创建一个干净/空的docker容器。它当然足够干净,作为构建过程的一部分,它必须克隆所有的repo。谢谢,关于这个URL可能需要是什么的想法?我们以前不需要它,一些Travis作业在没有它的情况下运行良好,例如,在没有
-Dsonar.host.url
的情况下运行良好(可能是到
mvn sonar:sonar
命令?)。明天早上,在我们所有排队的travis作业运行后,我将更新我的问题(我们无法让travis将我们的钱用于更高的优先级,因此在英国夏令时下午3点后事情会变得缓慢)。再次查看我的更新答案@markboothhanks。当我添加此项时,
mvn Sonar:Sonar
错误变为
权限不足
,这证实了这是早期
加密环境变量的问题,出于安全原因已被删除。
错误,请参阅我想我需要问另一个问题-“如何让声纳在福克斯的拉动请求下运行”,我会在运行时链接到这里。