Verwaltet, um Integrationstests parallel auf dem gleichen Knoten erfolgreich auszuführen, und jetzt möchte ich sie über verschiedene Knoten verteilen. Im Beispiel unten möchte ich, dass die Stufen IT 1
und IT 2
auf verschiedenen Knoten ausgeführt werden, wobei IT 3
auf dem ursprünglichen Knoten ausgeführt wird. Versuchte mehrere Kombinationen mit node
als Eltern von stage('IT 1')
und node
als Kind, aber ich bekomme Syntaxfehler für beide. Was ist die richtige Syntax, um dies zu erreichen?Führen Sie Jenkins parallele Stufen über verschiedene Knoten mit deklarativer Syntax
pipeline {
agent { label '!master' }
stages {
stage('Integration Tests') {
parallel {
stage('IT 1 (slow)') {
steps {
sh 'run-it-1.sh'
}
}
stage('IT 2 (slow)') {
steps {
sh 'run-it-2.sh'
}
}
stage('IT 3 (quick)') {
steps {
sh 'run-it-3.sh'
}
}
}
}
}
}
Edit: Mit label
statt node
Arbeiten für deklarative Pipelines. Beispiel unten:
stage('IT 1 (slow)') {
agent { label '!master' }
steps {
sh 'run-it-1.sh'
}
}
Danke. Ich versuche immer noch, es zu bestätigen, aber mein Problem scheint von der Verwendung von 'node' anstelle von' label' zu kommen. Von https://stackoverflow.com/questions/42050626/jenkins-pipeline-agent-vs-node: _ "Agent ist für deklarative Pipelines und Knoten ist für Skripted Pipelines" _. – noisebleed