У меня есть конвейерное задание, которое выполняет последовательность заданий (например, настройка >> выполнить тест >> очистить). Я хочу, чтобы эта последовательность запускалась для 100 различных инструментов с разными параметрами для каждого инструмента. Параметризация выполнена. Так что я могу передать другой параметр.
Я передаю один параметр в конвейер в виде списка инструментов в виде строкового параметра, в котором инструменты разделены запятой (например, tool1, tool2, tool3)
Теперь я хочу изменить конвейер, чтобы он выполнял ту же последовательность (настройка >> запуск теста >> очистка) во всех инструментах с именем инструмента, переданным одному из заданий в качестве параметра.
Я думал, что возьму значение этого параметра и плюю его запятой, получу имя каждого инструмента и получу цикл for вокруг последовательности.
Я мог бы получить часть forloop, и она работает для многократного запуска.
for (int i = 0; i < 2; ++i) {
stage('Setup') {
build job: 'setup', parameters: [string(name: 'tool', value:'<tool>')]
}
stage('Build') {
build 'Build Job'
}
}
Но я не понимаю, как мы можем разделить параметр и дать по одному на каждую итерацию forloop в DSL. Кто-нибудь может помочь в этом?