У меня есть два узла, каждый из которых подключен к нескольким устройствам, которые я хочу заблокировать как ресурсы. Я сгруппировал устройства в два пула с именем метки, совпадающим с NODE_NAME.
Насколько я понимаю, блокировка нескольких этапов возможна только путем установки блокировки в блоке параметров. Это, однако, означает, что я не могу использовать переменную env.NODE_NAME для установки метки.
Это то, что я пытаюсь достичь:
pipeline {
agent any
options {
lock(resource: null, label: env.NODE_NAME, variable: 'DEVICE', quantity: 1)
}
stages {
stage('Installation') {
steps {
echo "Install ${env.DEVICE}"
}
}
stage('Test') {
steps {
echo "Test ${env.DEVICE}"
}
}
}
}
Есть ли разумное решение для этого или я должен блокировать каждую стадию и молиться, чтобы не возникало никаких расовых условий?