Ну, пропущено очевидное решение:
#!groovy
def fspam(name, spam){
spam[name] = "BEEN THERE TOO"
}
// pipeline
node('slave'){
stage("test"){
targets = ["a", "b"]
def tasks = [:]
def spam = [:]
targets.each{ tasks["${it}"] = {
node('slave'){
echo "dry-run ${it}"
spam[it] = "BEEN THERE"
fspam(it, spam) <--- passing spam fixes the issue
}
}
}
parallel tasks
print("spam")
print(spam)
}
}
Остается один вопрос: Есть ли лучший / более чистый путь? (нить безопасности потока / собственный конвейер jenkins и т. Д.)