2016-04-25 9 views
0

Ich benutze Jenkins 1,646. Ich erhalte im Abschnitt Alte Daten verwalten immer wieder Einträge für nicht lesbare Daten.Unlesbare Daten (CannotResolveClassException) in Jenkins

enter image description here

Diese Einträge erscheinen für so ziemlich jeden Build, die auf meinem Freestyle Projekt auftritt. Die Builds sind in Ordnung. Hat jemand eine Idee, was ich tun muss, um das zu korrigieren? Ich habe kürzlich das Pipeline-Plugin installiert, und es hat ein Dutzend andere Plugins damit installiert, also vermute ich, dass etwas mit meiner Version von Jenkins und/oder einem anderen Plugin, das ich installiert habe, nicht kompatibel ist.

Antwort

1

Ich denke, ich habe es herausgefunden. Ich fand heraus, dass VariableInjectionAction eine domänenspezifische Klasse innerer Klasse ist, die wir in einem unserer Build-Schritte verwenden. Wir laden seine Elternklasse dynamisch in den Klassenpfad, indem wir den GroovyClassLoader für jeden Build verwenden. Es scheint, dass jenkins versucht, alle Klassen zu verfolgen, die zum Ausführen unserer groovigen Skripte für einen bestimmten Build verwendet werden, und da dies eine dynamisch geladene innere Klasse ist, kann jenkins die Klasse für archivierte Builds daher nicht finden Geben Sie den obigen Fehler ein.

Ich nehme an, der Fehler würde weggehen, wenn wir unsere groovigen Skripte anders geladen, z. Vorkompilieren sie auf dem Stamm jenkins Classpath platzieren. Für den Moment, da die Builds gut laufen, werden wir wahrscheinlich nur damit leben, dass wir die nicht lesbaren Daten regelmäßig bereinigen müssen.

Auch dies hatte offensichtlich nichts mit Konflikten mit kürzlich installierten Plugins zu tun, wie ich zuerst dachte.