В настоящее время мне понадобится реализация, которая должна найти все файлы в каталоге и запустить параллельное задание для каждого найденного файла.
Возможно ли добиться этого с помощью декларативных конвейеров?
pipeline {
agent any
stages {
stage("test") {
steps {
dir ("file_path") {
// find all files with complete path
parallel (
// execute parallel tasks for each file found.
// this must be dynamic
}
}
}
}
}
}
}
jenkins
jenkinsfile
thclpr
источник
источник
Ответы:
Удалось решить это с помощью следующего кода:
источник
Это также работает, если вы хотите остаться в
Declarative Pipeline
пространствеисточник
node {}
блок, например так:tests[f] = { node { echo f.toString() } }
Для этого гораздо проще использовать скриптовые конвейеры, так как вы можете использовать произвольный Groovy, но вы все равно должны делать это с декларативными конвейерами, используя
findFiles
шаг.источник
Помните, что этапы динамической сборки могут вызвать некоторые проблемы на некоторых этапах сборки, например, когда вы вызываете другую работу:
источник