Как заставить конвейерную работу ждать всех запущенных параллельных заданий?

У меня есть Groovy-скрипт как часть работы Pipeline в Jenkins, как показано ниже:

node {
    stage('Testing') {
        build job: 'Test', parameters: [string(name: 'Name', value: 'Foo1')], quietPeriod: 2, wait: false
        build job: 'Test', parameters: [string(name: 'Name', value: 'Bar1')], quietPeriod: 2, wait: false
        build job: 'Test', parameters: [string(name: 'Name', value: 'Baz1')], quietPeriod: 2, wait: false
        build job: 'Test', parameters: [string(name: 'Name', value: 'Foo2')], quietPeriod: 2, wait: false
        build job: 'Test', parameters: [string(name: 'Name', value: 'Bar2')], quietPeriod: 2, wait: false
        build job: 'Test', parameters: [string(name: 'Name', value: 'Baz2')], quietPeriod: 2, wait: false
    }
}

который выполняет несколько других работ вольным стилем параллельно, из-заwait флаг устанавливается вfalse, Тем не менее, я бы хотел, чтобы работа вызывающего абонента была завершена после завершения всех работ. В настоящее время задание конвейера запускает все задания и завершает его самостоятельно через несколько секунд, а это не то, чего я хочу, потому что я не могу отследить общее время и не могу отменить все запущенные задания за один раз.

Как исправить вышеприведенный сценарий для завершения работы конвейера, когда все параллельные работы завершены?

Я пытался обернуть строительные работы вwaitUntil {} блок, но это не сработало.

Ответы на вопрос(3)

Ваш ответ на вопрос