У меня есть этот тестовый код, он запускает 2 сборки на разных исполнителях на build_servers
узлах, как и ожидалось.
pipeline {
agent { label 'myserver' }
stages {
stage('1') {
steps {
script {
def tests = [:]
for (f in [ 'x', 'y' ]) {
tests["${f}"] = {
node('build_servers') {
stage('Clean Workspace') {
echo "cleaning up Ws ${f}"
step([$class: 'WsCleanup'])
}
stage('create Wspace txt file') {
script {
props="Wspace=${workspace}"
dir ( 'wspace') {
writeFile file: 'params.txt', text: props
}
}
}
stage('Run other job') {
script {
println('calling other project')
props = readProperties file: "wspace/params.txt"
file_params = props.collect {
string(name: it.key, value: it.value)
}
build job: "other_job2", parameters: file_params, wait: true, propagate: true
}
}
}
}
}
parallel tests
}
}
}
}
}
Я ожидаю, что он вызовет 2 разные сборки на other_job2
, но он отправляет только одно задание, и оба tests['x'] and tests['y']
ждут, пока одно и то же задание завершится sh, почему? не должен ли он создавать 2 разных задания в проекте other_job2
, одно для x
и одно для y
?