Я пытаюсь преобразовать свою вольную работу в декларативную конвейерную работу, так как конвейер обеспечивает большую гибкость. Я не могу понять, как использовать плагин параметра NodeLabel (однако https://wiki.jenkins.io/display/JENKINS/NodeLabel+Parameter+Plugin) в конвейере.
pipeline {
agent any
parameters {
// Would like something like LabelParameter here
}
stages {
stage('Dummy1') {
steps {
cleanWs()
sh('ls')
sh('pwd')
sh('hostname')
}
}
stage('Dummy2') {
steps {
node("comms-test02") {
sh('ls')
sh('pwd')
sh('hostname')
}
}
}
}
Мне просто нужен способ запустить задание, используя параметр, который указывает, где создать задание (используя метку ведомого).
Дженкинс требует наличия поля агента, для которого я установил значение «любое». Но не похоже, что есть доступный параметр метки?
В качестве альтернативы я попытался использовать команду 'node' (https://jenkins.io/doc/pipeline/steps/workflow-durable-task-step/#-node- allocate node). Но это оставляет меня с двумя работающими работами, которые при работе выглядят не очень красиво.
Кто-нибудь, если плагин параметра NodeLabel можно использовать? или, может быть, у кого-то есть более чистый подход?
Редактировать: Может быть, я не был ясен. Мне нужно иметь возможность запускать задания на разных узлах. Узел, на котором нужно работать, должен определяться при запуске задания через параметр. Плагин метки узла делает это отлично. Однако я не смог воспроизвести это поведение в конвейере.