Так что мой google-fu мне не удалось, и книга Дженкинса О'Рейли тоже не помогает.Извлечение переменных узла Jenkins из мастера
У меня есть установка Дженкинса с мастером и 20-нечетными узлами. Я интенсивно использую пользовательские переменные среды на узлах, так как многие из них выполняют аналогичные задачи, только немного разные платформы.
Я теперь в состоянии, что у меня есть работа, которая выполняется на главном (по необходимости), который должен знать определенные свойства узла для любого данного узла, включая некоторые из переменных среды, которые я создал ,
Есть ли способ ссылки на них? Моя альтернатива, похоже, состоит в том, чтобы иметь сотни переменных окружения в главном в форме node1_var1, node2_var1, node1_var2, node2_var2 и т. Д., Что просто кажется беспорядочным. Мастер явно знает переменные, так как там конфигурация для них выполнена, но я просто не могу найти способ указать их в задании.
Любая помощь (или насмешки и указывая на очевидные ответы) высоко ценится ...
Спасибо. Я использовал немного другое решение в конце, но groovy, казалось, было правильным направлением для поиска. Я использовал EnvInject со следующим скриптом: 'import jenkins.model. * myEnvVars = jenkins.model.Jenkins.instance .getNode ("node1"). getNodeProperties() [0] .getEnvVars() def map = ["nodeVar1": myEnvVars.get ("nodeVar1"), "nodeVar2": myEnvVars.get ("nodeVar2")]; return map; ' –
@Tony, одна заметка на вашем коде, в моем случае с различными плагинами и подчиненной конфигурацией,' nodeProperties [0] 'не всегда содержит переменные среды узла - таким образом, вызов getAll с env var class. –