У меня есть список элементов, каждый из которых должен пройти два этапа, при этом для каждого из элементов этапы должны идти один за другим, но элементы могут выполняться параллельно. Итак, я попытался создать вложенные параллельные этапы для каждого элемента в списке, поэтому все элементы будут выполняться параллельно, и для каждого из них этапы будут выполняться один за другим, когда я пытался сделать это без цикла (только для 2 пункта из моего списка) получилось так:
stage('nested parallel stage') {
parallel {
stage("stages for item1") {
steps {
script {
stage("stage1 for item1 ") {
sh "echo stage 1 for item1"
} //stage 1
stage("stage 2 for item1") {
sh "echo stage 2 to item1"
} // stage 2
} //script
} // steps
} // stage
stage("stages for item2") {
steps {
script {
stage("staqge1 for item 2") {
sh "echo stage 1 for item2"
} //stage 1
stage("stage 2 for item2") {
sh "echo stage 2 to item2"
} // stage2
} //script
} // steps
} // stage
} //parallel
} // nested parallel stage
Это работало без каких-либо проблем. Но когда я попытался сделать это в цикле, вот так:
def itemsMap = getitemsMap ()
def parallelItemsStages = itemsMap.collectEntries{
[ "${it.value.item}": {
stage("stages for ${it.value.item}") {
steps{
script {
stage("stage 1 for ${it.value.item}") {
sh "echo stage 1 for ${it.value.item}"
} //stage 1
stage("stage 2 for ${it.value.item}") {
sh "echo stage 2 for ${it.value.item}"
} // stage 2
} // script
} // steps
} // stage
} // nested stages
}] // collectEntries
} // collectEntries
parallel parallelItemsStages
Я получил эту ошибку:
ava.lang.NoSuchMethodError: No such DSL method 'steps' found among steps
itemsMap.collectEntries
не должны следовать открывающие скобки? Кроме того, ошибка не имеет смысла, поскольку вы нигде не объявили блокsteps
. - person gigalul   schedule 24.11.2020stage { steps {
, теперь у васstage { stages {
. Может быть, это виновник? - person MaratC   schedule 25.11.2020stage { steps {
, а затем я изменил его наstage { stages {
, но получил ту же ошибку.. Кроме того, насколько мне известно, скобки дляitemsMap.collectEntries
не нужны, но я добавил и получил те же результаты - person yiaca   schedule 25.11.2020