Трубопровод Дженкинса - глобальные (не связанные с окружающей средой) атрибуты - PullRequest
0 голосов
/ 06 июля 2018

В настоящее время я разрабатываю довольно сложный конвейерный сценарий в Jenkins, и есть некоторые значения, которые мне нужны на протяжении всей работы по сборке. Я пытался сохранить их в переменных среды, например, env.MY_VAR = 'foo'.

Однако это ограничено скалярными значениями, и мне нужно также хранить некоторые структурированные данные, в основном небольшие списки и карты. Я знаю, что могу сериализовать / десериализовать их по мере необходимости, но я не хочу.

Есть ли (лучший) способ добиться этого, кроме использования глобальных переменных? Предоставляют ли объекты Jenkins какие-либо средства для выполнения чего-то вроде currentBuild.myCustomVars.add('myVar','foo')?

1 Ответ

0 голосов
/ 06 июля 2018

Лучшим способом для этого может быть использование общей библиотеки (см. «Расширение с помощью общих библиотек» . Например, вы можете просто обернуть Map в MyMap, поместив его в общую lib и импортируйте его в свой конвейер так:

@Library('somelib')
import com.mycorp.pipeline.complextypes.MyMap

Это довольно сложно, и я бы предпочел избавиться от сложных типов или использовать глобальные переменные, но если вам нужно нечто большее, чем просто Map, это может стоить усилий.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...