У меня есть конвейерное задание, которое выполняет некоторую последовательность действий (например, Build >> Run >> Report). Я поместил эту последовательность в цикл for, поскольку я могу получить параметр, сколько раз мне следует повторять одну и ту же последовательность. Пожалуйста, найдите пример кода, который я написал.
for (int i = 0; i < <param_val>; ++i){
node{
stage('Build') {
build 'Build'
}
stage('Run') {
build 'Run'
}
stage('Reporting') {
build 'Reporting'
}
}
}
Теперь мой код ожидает выполнения одной полной последовательности, а затем продолжает выполнение следующей последовательности. Это отнимает много времени. У меня есть больше подчиненных агентов, и я могу выполнять последовательность параллельно. Как запустить каждую итерацию параллельного цикла for?
Я подумал о решении:
иметь конвейер, имеющий фактическую последовательность
node{
stage('Build') {
build 'Build'
}
stage('Run') {
build 'Run'
}
stage('Reporting') {
build 'Reporting'
}
}
есть еще один конвейер с циклом for, который запустит первый конвейер с ожиданием: false:
for (int i = 0; i < <param_val>; ++i){
build(job: 'pipeline-1', wait: false)
}
Это работает? Или у нас есть лучший вариант сделать то же самое с одним конвейером?