【问题标题】:Quality Gates 500 error质量门 500 错误
【发布时间】:2017-02-15 00:18:47
【问题描述】:

我正在使用SonarQube quality gates plugin for Jenkins

我的项目有 SonarQube ID com.my.package:my-project:origin/feature/WRAP-1-test 和 URI com.my.package:my-project:origin%2Ffeature%2FWRAP-1-test

在 Jenkins 中,在 Quality GatesProject Key 下,我尝试同时使用 ID 和 URI。

但是,在我构建项目的两种情况下,我都得到:

SonarQube analysis completed: SUCCESS
    quality.gates.jenkins.plugin.QGException: Expected status 200, got: 500. Response: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
  <meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
  <title>SonarQube</title>
  <style type="text/css">
    body {
      background-color: #fff;
      color: #666;
      text-align: center;
      font-family: arial, sans-serif;
    }

    div.dialog {
      width: 25em;
      padding: 0 4em;
      margin: 4em auto 0 auto;
      border: 1px solid #ccc;
      border-right-color: #999;
      border-bottom-color: #999;
    }

    h1 {
      font-size: 100%;
      color: #f00;
      line-height: 1.5em;
    }
  </style>
</head>

<body>
<!-- This file lives in public/500.html -->
<div class="dialog">
  <h1>We're sorry, but something went wrong.</h1>

  <p>Please try back in a few minutes and contact <a href="http://www.sonarqube.org/get-support/">support</a> if the problem
    persists.</p>

  <p>
    <!-- SONAR-4447 Sometimes this error page is served as static html so we hide ruby code -->
    <a href="/">Go back to the homepage</a>
    <!-- -->
  </p>
</div>
</body>
</html>

    at quality.gates.sonar.api.SonarHttpRequester.executeGetRequest(SonarHttpRequester.java:59)
    at quality.gates.sonar.api.SonarHttpRequester.getAPIInfo(SonarHttpRequester.java:47)
    at quality.gates.sonar.api.QualityGatesProvider.getRequesterResult(QualityGatesProvider.java:34)
    at quality.gates.sonar.api.QualityGatesProvider.getAPIResultsForQualityGates(QualityGatesProvider.java:29)
    at quality.gates.jenkins.plugin.BuildDecision.getStatus(BuildDecision.java:20)
    at quality.gates.jenkins.plugin.QGPublisher.perform(QGPublisher.java:73)
    at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
    at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:779)
    at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:720)
    at hudson.maven.MavenModuleSetBuild$MavenModuleSetBuildExecution.post2(MavenModuleSetBuild.java:1067)
    at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:665)
    at hudson.model.Run.execute(Run.java:1753)
    at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:544)
    at hudson.model.ResourceController.execute(ResourceController.java:98)
    at hudson.model.Executor.run(Executor.java:404)
Build step 'Quality Gates' marked build as failure
Finished: FAILURE

知道调用失败的原因吗?

编辑

我的日志包含以下 2 个错误:

2017.02.14 15:25:48 ERROR web[AVoyVzS5I0AJ4yijAAU1][rails] Fails to execute http://localhost:9000/api/events?resource=com.my.package:my-project:origin/feature/WRAP-1-test&format=json&categories=Alert : undefined method `generate' for #<JSON::Ext::Generator::State:0x2f8ea6a2>

还有:

web.log:2017.02.14 15:25:48 ERROR web[AVoyVzS5I0AJ4yijAAU1][o.s.s.ui.JRubyFacade] Fail to render: http://localhost:9000/api/events?resource=com.my.package:my-project:origin/feature/WRAP-1-test&format=json&categories=Alert
/Users/octavian/.rvm/gems/ruby-2.2.1/gems/json-1.8.3/lib/json/common.rb:223:in `generate'
/Users/octavian/.rvm/gems/ruby-2.2.1/gems/json-1.8.3/lib/json/common.rb:470:in `JSON'
/Users/octavian/Downloads/sonarqube-6.2/web/WEB-INF/app/controllers/api/api_controller.rb:48:in `jsonp'
/Users/octavian/Downloads/sonarqube-6.2/web/WEB-INF/app/controllers/api/api_controller.rb:132:in `error_to_json'
/Users/octavian/Downloads/sonarqube-6.2/web/WEB-INF/app/controllers/api/api_controller.rb:123:in `render_response'

我的 SonarQube 版本是6.2

【问题讨论】:

  • 1) 你的服务器日志说什么? 2) 考虑editing 您的问题以包含 SonarQube 版本
  • 我已经用日志文件中的错误更新了我的问题。

标签: jenkins sonarqube


【解决方案1】:

对于遇到此问题的任何人,我解决 ir 的步骤如下:

  1. 打开sonarqube-6.2/web/WEB-INF/config/environment.rb,改成ENV['GEM_PATH']=''
  2. 进入sonar.sh所在的文件夹并运行unset GEM_PATH
  3. sonar.sh restart

这个问题是由于安装的 ruby​​ 版本不兼容造成的。

【讨论】:

    猜你喜欢
    • 2021-05-06
    • 2015-07-05
    • 2016-08-11
    • 2021-09-05
    • 2017-12-26
    • 2016-01-07
    • 1970-01-01
    • 2017-03-27
    • 2016-12-23
    相关资源
    最近更新 更多