2016-04-25 5 views
0

Я использую Jenkins 1.646. Я продолжаю получать записи нечитаемых данных в разделе «Управление старыми данными».Непрочитанные данные (CannotResolveClassException) в Jenkins

enter image description here

Эти записи появляются в значительной степени каждой сборки, что происходит на моих Фристайл проектов. Сборка полностью прекрасна. Кто-нибудь знает, что мне нужно сделать, чтобы исправить это? Я недавно установил плагин Pipeline, и он установил около дюжины других плагинов вместе с ним, поэтому я предполагаю, что что-то несовместимо с моей версией jenkins и/или другим плагином, который я установил.

ответ

1

Я думаю, что понял. Я узнал, что VariableInjectionAction является внутренним классом класса, специфичным для домена, который мы используем на одном из наших шагов сборки. Мы динамически загружаем родительский класс в путь к классам, используя GroovyClassLoader для каждой сборки. Казалось бы, jenkins пытается отслеживать все классы, которые используются для запуска наших рискованных скриптов для конкретной сборки, и поскольку это динамически загруженный внутренний класс, jenkins не может найти класс для архивных сборников, таким образом давая ошибку выше.

Я предполагаю, что ошибка исчезнет, ​​если мы загрузим наши рискованные скрипты по-разному, например. предварительно компилируя их, помещая их в корневой путь jenkins. На данный момент, поскольку сборки работают нормально, мы, вероятно, просто живем с необходимостью периодически чистить нечитаемые данные.

Кроме того, это, очевидно, не имело ничего общего с конфликтами с недавно установленными плагинами, как я думал.