2016-05-09 54 views
2

我们完成了以下hello-spinnaker示例中所述的所有步骤。我们已使用AWS spinnaker图像直接在AWS中配置三角帆。Spinnaker Jenkins集成无法从Jenkins获取作业

www.spinnaker.io/docs/hello-spinnaker。

我想创建一个示例流水线,如上面的示例中所述。但是,当我在第一步中创建触发器并选择jenkins时,作业没有被填充,并且在浏览器中出现错误。

GET http://localhost:8084/v2/builds/Jenkins/jobs 429(太多请求)

实际问题看起来虽然改造时试图映射从詹金斯getjobs响应到作业表类像它找到一个属性_class在詹金斯响应XML和不存在在招贤纳才常规class.Below是我们如何试图找到问题

1)登录到AWS实例三角帆

2)门服务在端口8084
卷曲http://localhost:8084/v2/builds/Jenkins/jobs暴露。

{"failureCause":"retrofit.RetrofitError: 429 Too Many Requests","error":"Too Many Requests","message":"429 Too Many Requests","status":429,"url":"http://localhost:8088/jobs/Jenkins","timestamp":1462793944530} 

3)伊戈尔服务在端口暴露8088
卷曲http://localhost:8088/jobs/Jenkins

{"fallbackException":"java.lang.UnsupportedOperationException: No fallback available.","failureType":"COMMAND_EXCEPTION","failureCause":"retrofit.converter.ConversionException: org.simpleframework.xml.core.AttributeException: Attribute '_class' does not have a match in class com.netflix.spinnaker.igor.jenkins.client.model.JobList at line 1","error":"Hystrix Failure","message":"jenkins-Jenkins-getJobs failed and no fallback available.","status":429,"timestamp":1462793896853} 

当我在伊戈尔日志检查,还有一些是由詹金斯民意调查getprojects过程中存在的少数例外

Caused by: retrofit.converter.ConversionException: org.simpleframework.xml.core.AttributeException: Attribute '_class' does not have a match in class com.netflix.spinnaker.igor.jenkins.client.model.ProjectsList at line 2 
at retrofit.converter.SimpleXMLConverter.fromBody(SimpleXMLConverter.java:38) 
at retrofit.RestAdapter$RestHandler.invokeRequest(RestAdapter.java:367) 
... 39 common frames omitted 
Caused by: org.simpleframework.xml.core.AttributeException: Attribute '_class' does not have a match in class com.netflix.spinnaker.igor.jenkins.client.model.ProjectsList at line 2 

4)连接到詹金斯,并得到作业,因为它正在做大三角代码https://github.com/spinnaker/igor/blob/master/igor-web/src/main/groovy/com/netflix/spinnaker/igor/jenkins/client/JenkinsClient.groovy

RESP = requests.get( 'http://jenkinserverip:8080/api/xml?tree=jobs[name,jobs[name,jobs[name,jobs[name,jobs[name,jobs[name,jobs[name,jobs[name,jobs[name,jobs[name]]]]]]]]]]',AUTH =( '管理员', '密码'))
打印resp.text

<hudson _class='hudson.model.Hudson'><job _class='hudson.model.FreeStyleProject'><name>Hello Build</name></job><job _class='hudson.model.FreeStyleProject'><name>Hello Poll</name></job></hudson> 

因此,作为詹金斯响应具有_class属性,翻新是在这条线上抛出一个错误http://grepcode.com/file/repo1.maven.org/maven2/com.squareup.retrofit/retrofit/1.9.0/retrofit/RestAdapter.java#383

我想看看我们如何快速解决这个问题,因为它看起来像jenkins兼容性的一些版本。

回答

0

这是jenkins api在后期版本中的一个bug。我相信2.2是最后一个兼容版本,我们在内部运行1.6。

+0

如果你把最新的igor debian –