Это бы сработало.
class Global{
static nextNode
}
pipeline {
agent { label 'standard' }
stages {
stage ('first') {
steps {
script {
Global.nextNode=sh(script: 'myapp.py getstring', returnStdout: true).trim()
}
}
}
stage ('second') {
agent { label "${Global.nextNode}-agent" }
}
}
}
Но я настоятельно рекомендую вам забыть о декларативном синтаксисе конвейера, поскольку он, вероятно, приведет к очень быстрому росту седых волос!
Ниже приведенопример в скриптовом режиме.Приведенный ниже пример действительно работает, в то время как приведенный выше требует двух исполнителей.В моем случае главный узел имеет только один, и поэтому он не работает, поскольку агенты являются вложенными.
node('linux') {
stage ('first') {
nextNode=sh(script: 'echo \$NODE_NAME', returnStdout: true).trim()
echo nextNode
}
}
node ("${nextNode}") {
stage ('second') {
echo nextNode
sh 'ls'
}
}