Я пытаюсь вызвать набор существующих заданий Jenkins в конвейерном задании.У меня есть список всех имен вакансий.Я пытаюсь перебрать имена заданий и построить каждое задание, но получаю сообщение об ошибке в конце конвейера, даже если задания успешно запускаются.
Использование Jenkins 2.164.2, конвейер 2.6
Ошибка одинакова, если я использую оба сценария / объявленный конвейер.Задания запускаются параллельно, но я получаю исключение в конце конвейера и сбой задания конвейера. Причина: java.io.NotSerializableException: hudson.model.Hudson
Журналы Jenkins:
[Конвейер] параллельный[Pipeline] {(Отрасль: а)[Pipeline] build (Здание а)Планирование проекта:[Pipeline] {(Отрасль: b)[Pipeline] build (корпус б)Планирование проекта: б[Трубопровод] }Не удалось в филиале б[Трубопровод] }Не удалось в филиале[Трубопровод] }[Pipeline] // скрипт[Трубопровод] }[Pipeline] // этап[Трубопровод] }[Pipeline] // узел[Трубопровод] Конец трубопроводавозникла исключительная ситуация: в поле
com.cloudbees.groovy.cps.impl.BlockScopeEnv.locals в объекте
com.cloudbees.groovy.cps.impl.BlockScopeEnv@409a0d4f ... Причина:
java.io.NotSerializableException: hudson.model.Hudson at
org.jboss.marshalling.river.RiverMarshaller.doWriteObject (RiverMarshaller.java:926) ... в java.lang.Thread.run (Thread.java:748)Закончено: ОТКАЗ
@NonCPS
def getBranches(def JobNamesList) {
def branches = [: ]
JobNamesList.each() { jobName ->
branches[jobName] = {
build job: jobName
}
}
return branches
}
pipeline {
agent any
stages {
stage('Get Services') {
steps {
script {
jobNames = ['a','b']
parallel getBranches(jobNames)
}
}
}
}
}