Derzeit benötige ich eine Implementierung, die alle Dateien in einem Verzeichnis finden und für jede gefundene Datei eine parallele Aufgabe starten muss.
Ist dies mit deklarativen Pipelines möglich?
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
quelle
quelle
Antworten:
Konnte es mit dem folgenden Code lösen:
quelle
Dies funktioniert auch, wenn Sie im
Declarative Pipeline
Raum bleiben möchtenquelle
node {}
wietests[f] = { node { echo f.toString() } }
Es ist viel einfacher, skriptbasierte Pipelines zu verwenden, da Sie beliebiges Groovy verwenden können. Sie sollten jedoch weiterhin in der Lage sein, dies mit deklarativen Pipelines zu tun, die den
findFiles
Schritt verwenden.quelle
Beachten Sie, dass dynamische Erstellungsschritte in einigen Erstellungsschritten zu Problemen führen können, z. B. wenn Sie einen anderen Job aufrufen:
quelle