Вопрос: Скажите Дженкинсу запустить конкретный проект на конкретном подчиненном узле


Как сообщить Jenkins о запуске конкретного проекта на конкретном подчиненном устройстве?

Я создал мастер-узел Jenkins и подчиненный узел, который я хочу использовать для размещения приложения. Но я не могу понять, как настроить проект для запуска на подчиненном узле, который я создал.


67
2018-02-13 22:43


Источник


stackoverflow.com/questions/9214501/... - kaji


Ответы:


Установите флажок «Ограничить, где это задание можно запустить», в настройке задания и укажите имя вашего подчиненного устройства.

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

См. Эту справочную документацию:


70
2018-02-20 06:59



Благодарю. Я использовал довольно много времени, прежде чем нашел ваш ответ. Он должен был добавить к этой странице wiki.jenkins-ci.org/display/JENKINS/Distributed+builds - Surasin Tancharoen


Если вы выполняете задание Pipeline, сначала нужно добавить метку (например, «ведомый») к подчиненному узлу (или агенту, который, как представляется, теперь вызывается).

Затем в сценарии конвейера вы указываете метку, на которой выполняется задание:

Декларативный трубопровод:

pipeline {
    agent {label 'slave'}
    stages {
        ...
    }
}

Сценарий сценария:

node (label: 'slave') {
    ...
}

Это задание будет выполняться на любом узле с меткой «slave». Если вы хотите, чтобы задание выполнялось на этом подчиненном устройстве, не используйте его повторно. И, конечно, лейбл не должен быть «рабом»; это может быть то, что вы хотите.

Обновить:

В сценарии сценария, если ваш узел называется «Мой узел», вы также можете сделать это:

node ('My Node') {
    ...
}

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


6
2017-12-29 03:59



Это было так трудно найти, документация для сценария синтаксиса умирает в пользу декларативного, я не могу мигрировать, но так спасибо! - Mitchell Currie


Если вы хотите использовать Node / Label в качестве параметра, установите Плагин параметров NodeLabel


5
2017-10-04 14:32