2016-05-09 28 views
2

Wir haben alle Schritte wie im folgenden Beispiel beschrieben durchgeführt. Wir haben das AWS Spinnaker Image verwendet, um Spinnaker direkt in AWS zu konfigurieren.Spinnaker Jenkins Integration kann keine Jobs von Jenkins holen

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

Ich versuche, eine Beispielpipeline wie im obigen Beispiel beschrieben zu erstellen.Aber während ich im ersten Schritt Trigger erzeuge und jenkins auswähle, werden die Jobs nicht gefüllt und der Fehler im Browser wird unterschritten.

GET http://localhost:8084/v2/builds/Jenkins/jobs 429 (zu viele Anfragen)

Das eigentliche Problem sieht aus wie während Retrofit versucht, sein die Antwort von jenkins getjobs in die Job-Liste Klasse abzubilden ein Attribut _class in jenkins Antwort xml zu finden und das ist nicht vorhanden in Job-Liste groovy class.Below ist, wie wir versuchen

1) Login AWS Spinnaker Beispiel der Frage zu finden,

2) Tor Dienst am Port ausgesetzt ist 8084.
curl 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) Igor Dienst am Port 8088.
curl 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} 
ausgesetzt

Als ich in den igor Protokolle zu überprüfen, gibt es nur wenige Ausnahmen, die während der getprojects von jenkins Umfrage auftreten werden

4) Verbinden Sie sich mit jenkins und erhalten Sie die Jobs, wie es im Spinnaker Code https://github.com/spinnaker/igor/blob/master/igor-web/src/main/groovy/com/netflix/spinnaker/igor/jenkins/client/JenkinsClient.groovy getan wird

bzw. = 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 = ('admin', 'password'))
Druck 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> 

So wie die jenkins Antwort des _class Attribut aufweist, Retrofit wirft einen Fehler bei dieser Linie http://grepcode.com/file/repo1.maven.org/maven2/com.squareup.retrofit/retrofit/1.9.0/retrofit/RestAdapter.java#383

Ich wollte sehen, wie können wir das schnell beheben, wie es aussieht wie eine Version in Kompatibilität von Jenkins.

Antwort

0

Dies ist ein Bug um die jenkins api in der späteren Version. Ich glaube, dass 2.2 die letzte kompatible Version ist, wir laufen intern 1.6.

+0

Dies sollte behoben werden, wenn Sie den neuesten Igor Debian ziehen –