Jenkins 设置Sonar Gerrit插件:无法执行命令';gerrit review';关于UserAtHost

Jenkins 设置Sonar Gerrit插件:无法执行命令';gerrit review';关于UserAtHost,jenkins,sonarqube,gerrit,sonar-gerrit,Jenkins,Sonarqube,Gerrit,Sonar Gerrit,我正试着为詹金安排一份工作 设置 当补丁设置为Gerrit时,将启动Jenkins Maven作业 我在Jenkins输出中看到了错误 以下是Jenkins控制台错误输出: [错误]无法执行目标org.sonarsource.scanner.maven:sonar maven插件:3.4.0.905:sonar( 项目父级上的默认cli:无法执行项目生成器:fr.techad.sonar.GerritProjectBuilder:无法在上执行命令“gerrit review 298816ea2b

我正试着为詹金安排一份工作

设置
  • 当补丁设置为Gerrit时,将启动Jenkins Maven作业
  • 我在Jenkins输出中看到了错误
  • 以下是Jenkins控制台错误输出:

    [错误]无法执行目标org.sonarsource.scanner.maven:sonar maven插件:3.4.0.905:sonar( 项目父级上的默认cli:无法执行项目生成器:fr.techad.sonar.GerritProjectBuilder:无法在上执行命令“gerrit review 298816ea2b24645fd971a8c0833582cec1163dac-j”UserAtHost@55a9f72f[user=jenkins,host=172.21.33.193,port=29418]:拒绝主机密钥:172.21.33.193->[Help 1] [错误] [错误]要查看错误的完整堆栈跟踪,请使用-e开关重新运行Maven。 [错误]使用-X开关重新运行Maven以启用完整调试日志记录。 [错误] [错误]有关错误和可能的解决方案的更多信息,请阅读以下文章: [错误][帮助1]

    到目前为止我都试过了 查看[Help 1],它说

    此异常不是由Maven核心本身生成的,而是由插件生成的

  • 我尝试登录Jenkins服务器并在目录(/usr/share/tomcat/.Jenkins/workspace/sonar-maven)中运行“mvn sonar:sonar”。它运行成功,我可以在sonar仪表板上看到结果
  • 重新配置Gerrit触发器插件。 然后我检查了Gerrit触发器中的连接,它成功了
  • 有人犯过同样的错误吗?如何尝试修复它?

    软件版本
    • 詹金斯2.101,声纳Gerrit插件(2.3),Gerrit触发器(2.21.2)
    • Gerrit 2.14.6
    • 声纳QUBE 6.7
      • 错误是:

        Failed to execute command 'gerrit review 298816ea2b24645fd971a8c0833582cec1163dac -j'
        
        Sonar gerrit使用gerrit触发器插件在gerrit中投票。gerrit触发器配置似乎有问题。我知道您已经检查了gerrit触发器和gerrit之间的连接,但这是一个与“gerrit review”命令相关的错误

        检查以下位置的“gerrit review”命令:

        詹金斯>管理詹金斯>Gerrit触发器>编辑>高级…>Gerrit验证了命令

        例如,它对我有效:

        gerrit review <CHANGE>,<PATCHSET> --message 'Job finished <BUILDS_STATS>' --code-review <CODE_REVIEW>
        
        gerrit review,--消息“作业已完成”--代码审核
        
        之后,如果错误仍然存在,请登录Jenkins服务器并手动运行“gerrit review”命令:

        ssh-p29418jenkins@172.21.33.193gerrit评论

        如果您遇到相同的错误,您可以尝试调试它,在命令中添加“-vvv”。

        您的异常显示:

        [ERROR] Failed to execute goal org.sonarsource.scanner.maven:sonar-maven-plugin
        
        是你的sonar maven插件失败了,而不是sonar gerrit插件

        Failed to execute command 'gerrit review 298816ea2b24645fd971a8c0833582cec1163dac -j'
        
        我不知道sonarqube命令“gerrit review-j”是什么,看起来这个sonar maven插件也不知道


        您可以尝试研究这个问题-它可能会帮助您为您的项目配置sonarqube:

        谢谢,我检查了命令。例如,成功的“gerrit review,--消息“Build Successful”--code review`。我还删除了“-code verify”,它不起作用。同样的错误。拒绝主机密钥:[Gerrit url]正确吗?您还有其他解决方案吗?我刚刚添加了更多信息,我已经登录到Jenkins服务器ssh-p 29418jenkins@172.21.33.193Gerrit review--verified+1。它可以看到“补丁集1:verified+1”而不是错误。我认为Gerrit review命令是正确的。当你说“登录Jenkins服务器”时,您确定要登录执行Maven/Sonar gerrit作业的机器吗?我的意思是,通常作业是由Jenkins从属服务器而不是Jenkins服务器执行的。我在源代码(src/main/java/fr/techad/sonar/gerrit/network/ssh/GerritSshConnector.java)中找到了这个命令,比如“gerrit review%s-j”,您是否试图使用Maven插件连接gerrit和sonar,而不使用Jenkins执行的sonar-gerrit插件?那么你就不需要sonar gerrit插件了。如果你想使用它,你不需要在Jenkins作业设置中提供像“gerrit review…”这样的命令-你只需要在Jenkins作业设置中设置maven命令“clean install sonar:sonar-Dsonar.analysis.mode=preview-Dsonar.report.export.path=sonar report.json”,并将更改推送到gerrit存储库。我更改了设置“SonarQube analysis with maven”作业构建成功。但是使用`-Dsonar.analysis.mode=preview-Dsonar.report.export.path=sonar-report.json`,我在sonar仪表板中看不到任何报告。警告是>警告:无法在工作区中找到“report task.txt”。SonarScanner成功了吗?jenkins控制台输出显示已加载
        报告,并包含242个需要注释的问题:0
        ,但Gerrit history仍表示未发现
        Sonarqube违规行为。
        @TatianaDidik@haopan看看这个: