Как мне сказать, чтобы Дженкинс запустил конкретный проект для определенного раба?
Я настроил главный узел Jenkins и подчиненный узел, который хочу использовать для подготовки приложения. Но я не могу понять, как настроить проект для запуска на подчиненном узле, который я создал.
Ответы:
Установите флажок «Ограничить, где можно выполнить это задание» в конфигурации задания и укажите имя своего ведомого.
Если позже вы добавите больше подчиненных, вы можете установить метки для каждого подчиненного и указать их в своих настройках работы.
Смотрите эту справочную документацию:
источник
Если вы запускаете конвейерное задание, вы сначала хотите добавить метку (например, «ведомый») к подчиненному узлу (или агенту, как кажется, он сейчас вызывается).
Затем в сценарии конвейера вы указываете метку, на которой выполняется задание:
Декларативный конвейер:
Скриптовый конвейер:
Это задание теперь будет выполняться на любом узле с меткой «ведомый». Если вы хотите, чтобы работа выполнялась только на этом конкретном подчиненном устройстве, не используйте метку повторно. И, конечно, лейбл не обязательно должен быть «рабом»; это может быть что угодно.
Обновить:
В скриптовом конвейере, если ваш узел называется «Мой узел», вы также можете сделать это:
Если вы хотите, чтобы блок кода работал только на этом конкретном узле, это полезно. Однако использование меток более гибко и может упростить добавление узлов для совместного использования рабочей нагрузки.
источник
Если вы хотите использовать Node / Label в качестве параметра, установите NodeLabel Parameter Plugin
источник
params += new org.jvnet.jenkins.plugins.nodelabelparameter.LabelParameterValue('testServer', testServerLabel);
(вместо обычногоStringParameterValue
).