Как получить параметр, зависящий от другого параметра в Hudson или Jenkins

У меня проблемы с Hudson, потому что моя работа нуждается в двух парамах для сборки первый определяет среду и может быть одним из DEV, QA, PROD, и второе-это конкретный сервер, этот параметр зависит от первого.

на примере, если я выбрал environment DEV, второй параметр может быть только DEV1, DEV2, MAQ1 . У меня нет идеи, Существует ли плагин с этой функциональностью или мне нужно сделать что-то с groovy. Я не знаю, пожалуйста, помогите мне.

спасибо вы

5 ответов


похоже, что Дженкинс загружает список параметров для выбора при открытии страницы "проект сборки". При выборе параметра также не происходит обратного вызова.

в этом случае будет трудно ограничить второй параметр на основе первого без javascript и пользовательского плагина.

Я также посмотрел на те:

Я бы попросил список пользователей jenkins для получения дополнительной информации.


хороший плагин (требует, чтобы вы имели UpdateSites Менеджер плагин и зарегистрировать сайт обновления biouno) является плагин uno-choice ( и друзей).

на Uno-Выбор Каскада Динамический Параметр Плагин плагин позволяет не только более двух уровней зависимостей, но и может генерировать динамическое содержимое для параметров, которые зависят от предыдущего ввода, используя scriptler или inline groovy.

Это конечно больше возможностей, чем предыдущие ответы.


попробовать Плагин Активных Вариантов. Это второе имя плагина Uno-Choice, но он находится в официальном репозитории Jenkins и не требует плагина UpdateSites Manager. (Оба плагина имеют одного автора). Плагин имеет отличную документацию с примерами (и gif-демонстрацией) на странице описания плагина.


вы можете попробовать Плагин EnvInject.

сначала вы помещаете первый параметр в файл настроек.Тогда плагин может читать из файла .Шаг второй: создайте второй параметр с помощью собственного скрипта.


Я столкнулся с подобными проблемами. У меня есть параметр для среды Dev1, Dev2,..... и второй для сервера, где мне нужно запустить работу. Я могу вычислить второй из первого, но тогда задание уже запущено, и я больше не могу переместить его на другой сервер.

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

в вашем случае, вы можете вычислить значение первого параметра от значения второго параметра? Затем вы сможете вычислить (если это все еще необходимо) значение первого параметра, записать его во временный файл свойств и загрузить его с помощью плагин EnvInject на более позднем этапе сборки.