Actualmente, voy a necesitar una implementación que debe encontrar todos los archivos dentro de un directorio e iniciar una tarea paralela para cada archivo encontrado.
¿Es posible lograr esto usando tuberías declarativas?
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
fuente
fuente
Respuestas:
Logré resolverlo con el siguiente código:
fuente
Esto también funciona, si quieres quedarte dentro del
Declarative Pipeline
espaciofuente
node {}
bloque, de esta manera:tests[f] = { node { echo f.toString() } }
Es mucho más fácil usar Pipelines con script para hacer esto, ya que puedes usar Groovy arbitrario, pero aún así deberías poder hacerlo con Pipelines declarativos usando el
findFiles
paso.fuente
Tenga en cuenta que los pasos de compilación dinámica pueden causar algunos problemas en algunos pasos de compilación, por ejemplo, cuando llama a otro trabajo:
fuente