Size: a a a

2021 June 04

VS

Vasilyev Sergey in jenkins_ru
И тебе, добрый человек, огромное спасибо!
источник

IA

Ivan Alexandrov in jenkins_ru
привет, какие варианты есть для устранения "Method Code Too Large Error" в декларативном. Достиг предела. Переходить на Scripted?
источник

DB

Dmitry Burmistrov in jenkins_ru
читать best practices. не надо превращать пайплайны в полноценные программы.
источник

VS

Vasilyev Sergey in jenkins_ru
Вот это у вас кроличья нора) Сколько символов если не секрет?))
источник

IA

Ivan Alexandrov in jenkins_ru
Строк ~ 1400

Да и всё очень скромно - stage / script (реализация в других vars/ и так далее )

Стадий много и условий тоже

Параметров только на 400 строк :(
источник

VS

Vasilyev Sergey in jenkins_ru
400 параметров... Извините за мое любопытство но что у вас за проект ??
источник

IA

Ivan Alexandrov in jenkins_ru
Строк для параметров
источник

IA

Ivan Alexandrov in jenkins_ru
Это релиз конвейер для процессорного ip
источник

DK

D K in jenkins_ru
а где там написано про большие декларативные пайплайны?
источник

IA

Ivan Alexandrov in jenkins_ru
Там не написано, но в issues есть пару слов про 64 кб на classloader

Вариант - перейти на scripted и раскидать стадии по внешним файлам
источник

VS

Vasilyev Sergey in jenkins_ru
А если в либы вынести стеджи? И подключать их оттуда?
источник

DB

Dmitry Burmistrov in jenkins_ru
источник

IA

Ivan Alexandrov in jenkins_ru
Придётся рефакторить так, но scripted стейджи не такие как declarative
источник

DS

Dmitry Sergeev in jenkins_ru
ну и теряется фишка декларатива, возможность перезапустить со стейджа
источник
2021 June 05

HC

Henry Chinaski in jenkins_ru
Всем привет. Товарищи, прошу поддержки (возможно, странного)
Есть yaml файлик, и я хочу получать некоторые значения из него. Выглядит он так
my_name_prop_list:
 - name: Ivan
   roles:
     - zhnec
     - dudec
 - name: Semen
   roles:
     - lazzy
     - slow

Я заранее задаю имя, например, Semen, и хочу получать массив roles. Как это можно в Дженкинсе сделать?
источник

DS

Dmitry Sergeev in jenkins_ru
источник

DS

Dmitry Sergeev in jenkins_ru
def obj = readYaml file: 'file.yaml'
def roles = obj['my_name_prop_list'].find { it.name == 'Semen' }.roles
источник

HC

Henry Chinaski in jenkins_ru
о, этот вариант короче, спасибо!) пошёл по другому пути, более длинному.
прочитал ямл также, а потом:
def listOfIndices = yamlUserData.my_name_prop_list['name']
def indexOfName = listOfIndices.indexOf(USER_NAME)
def user_roles = yamlUserData.my_name_prop_list['roles'][indexOfName]
источник

DS

Dmitry Sergeev in jenkins_ru
> def listOfIndices = yamlUserData.my_name_prop_list['name']
Вот это сработать не должно, так как my_name_prop_list массив, и там по ключу не выбрать. Там элементы по порядку идут my_name_prop_list[0], my_name_prop_list[1], my_name_prop_list[2], ... а уже в каждом из них есть ключи name и roles my_name_prop_list[0]['name']
источник

HC

Henry Chinaski in jenkins_ru
скажу честно, я нагуглил вот такую тему, из неё и брал вдохновение
https://stackoverflow.com/questions/40102169/not-able-to-get-a-value-from-yml-file-in-groovy/40103885
источник