Как пометить, чтобы ограничить сборку подчиненными узлами для использования с помощью параметризованной сборки

Для моей работы Jenkins я установил параметр среды, который сообщает моему сценарию сборки, какую конфигурацию использовать. У меня также есть подчиненные узлы, работающие в каждой из моих сред для сборки и развертывания моего приложения.

Я попытался использовать «Ограничить запуск этого проекта» со значением

buildnode-${ENV}

где ENV — имя моего параметра. Похоже, это не работает, поскольку метка не выполняет замену.

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

введите здесь описание изображения

Есть ли способ связать это вместе, поэтому, когда я выбираю среду QA, например, подчиненный узел для сервера QA выбирается для запуска сборки?


person ltfishie    schedule 04.04.2012    source источник


Ответы (1)


Вы можете попробовать следующий обходной путь: иметь две сборки — A и B. A настроит среду, сохранит ее в файл и передаст файл в качестве параметра для сборки B вместе с именем узла, на котором будет выполняться ( параметры будут передаваться через плагин Parameterized Trigger). B будет читать среду (через плагин EnvInject) и запустите сборку на узле, переданном в качестве другого параметра (вам нужно использовать плагин NodeLabel).

person malenkiy_scot    schedule 04.04.2012
comment
Спасибо, я попробую. Или, может быть, мне следует просто научиться разрабатывать плагин Jenkins и делать это самому.... - person ltfishie; 05.04.2012
comment
michael-prokop.at /blog/2014/03/01/ у этого парня такая же проблема с элегантным решением - person Montells; 22.07.2014