Переменная ключ-значение Дженкинса или использование переменной для определения другого - PullRequest
1 голос
/ 03 октября 2011

Я настраиваю централизованную систему сборки, в которой несколько проектов «упаковываются».Проект может быть выбран с помощью параметра выбора, и на его основе я строю путь проверки SVN.Репозиторий тот же, но путь к каждому приложению немного отличается, например:

  • приложение 1 находится в ../libs/App1..
  • приложение 2 находится в ../tools/App2..
  • и т. д.

Моя проблема заключается в том, что мне нужно как-то сопоставить имя приложения и его местоположение.

Первая мысльmind был параметром «ключ-значение», но мне еще не удалось найти плагин, который бы разрешал его.

Второй - определить переменные окружения в файле (есть 2-3 плагина, которые это делают), а затемиспользуйте значение, выбранное в параметре выбора, в качестве ключа для env var.Это достижимо каким-либо образом?

С уважением

Ответы [ 2 ]

0 голосов
/ 12 ноября 2015

Через несколько лет :-) и по несвязанной теме я нашел плагин Active choices , также известный как / разветвленный от плагин uno choice , который позволяет определять параметры, которые динамически обновлять при изменении других параметров:

1) определяет параметр активного выбора с именем states со следующим содержанием groovy-script

return[
'Sao Paulo',
'Rio de Janeiro',
'Parana',
'Acre'
]

2) Определить активный реактивный параметр выбора с именем cities, который реагирует на изменения в значении первого параметра, со следующим содержимым groovy-script:

if (States.equals("Sao Paulo")) {
  return ["Barretos", "Sao Paulo", "Itu"]
} else if (States.equals("Rio de Janeiro")) {
  return ["Rio de Janeiro", "Mangaratiba"]
} else if (States.equals("Parana")) {
  return ["Curitiba", "Ponta Grossa"]
} else if (States.equals("Acre")) {
  return ["Rio Branco", "Acrelandia"]
} else {
  return ["Unknown state"]
}

Таким образом, каждый раз, когда изменяется state, список доступных для выбора cities будет обновляться соответственно:

enter image description here

0 голосов
/ 30 апреля 2012

Вы можете использовать Условный плагин BuildStep вместе с Плагин EnvInject , чтобы настроить переменную среды (скажем, APP_PATH), которая зависит от параметров вашей сборки перед любыми другими шагами сборки. , Затем вы используете ${APP_PATH} всякий раз, когда вам это нужно в вашей сборке.

...