2017-02-14 153 views
0

我正在使用SonarQube quality gates plugin for JenkinsQuality Gates 500错误

我的项目有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 Gates,Project 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

1)你的服务器日志说什么? 2)考虑[编辑]你的问题,包括SonarQube版本 –

+0

我更新了我的问题与来自日志文件的错误。 – octavian

回答

0

对于有这个问题,我的步骤irwere解决人:

  1. 开放sonarqube-6.2/web/WEB-INF/config/environment.rb,并更改为ENV['GEM_PATH']=''
  2. 走到哪里sonar.sh是文件夹,然后运行unset GEM_PATH
  3. sonar.sh restart

的问题是造成了一些不兼容与红宝石的安装版本。