J'essaye d'écrire un Jenkinsfile scripté en utilisant le DSL groovy qui aura des étapes parallèles dans un ensemble d'étapes.Etape parallèle jenkinsfile scriptée
Voici mon jenkinsfile:
node {
stage('Build') {
sh 'echo "Build stage"'
}
stage('API Integration Tests') {
parallel Database1APIIntegrationTest: {
try {
sh 'echo "Build Database1APIIntegrationTest parallel stage"'
}
finally {
sh 'echo "Finished this stage"'
}
}, Database2APIIntegrationTest: {
try {
sh 'echo "Build Database2APIIntegrationTest parallel stage"'
}
finally {
sh 'echo "Finished this stage"'
}
}, Database3APIIntegrationTest: {
try {
sh 'echo "Build Database3APIIntegrationTest parallel stage"'
}
finally {
sh 'echo "Finished this stage"'
}
}
}
stage('System Tests') {
parallel Database1APIIntegrationTest: {
try {
sh 'echo "Build Database1APIIntegrationTest parallel stage"'
}
finally {
sh 'echo "Finished this stage"'
}
}, Database2APIIntegrationTest: {
try {
sh 'echo "Build Database2APIIntegrationTest parallel stage"'
}
finally {
sh 'echo "Finished this stage"'
}
}, Database3APIIntegrationTest: {
try {
sh 'echo "Build Database3APIIntegrationTest parallel stage"'
}
finally {
sh 'echo "Finished this stage"'
}
}
}
}
Je veux avoir 3 étapes: construire; Tests d'intégration et tests système. Au cours des deux phases de test, je souhaite que 3 ensembles de tests soient exécutés en parallèle, chacun par rapport à une base de données différente.
J'ai 3 exécuteurs disponibles. Un sur le maître, et 2 agents et je veux que chaque étape parallèle à exécuter sur n'importe quel exécuteur disponible. Ce que j'ai remarqué, c'est qu'après avoir exécuté mon pipeline, je ne vois que les 3 étapes, chacune étant marquée en vert. Je ne veux pas avoir à consulter les journaux pour cette étape afin de déterminer si l'une des étapes parallèles de cette étape a été réussie/instable/a échoué.
Je veux voir les 3 étapes dans mes étapes de test - marquées comme vert, jaune ou rouge (succès, instable ou échoué). J'ai envisagé d'étendre les tests à leurs propres étapes, mais j'ai réalisé que les étapes parallèles ne sont pas supportées (Est-ce que quelqu'un sait si cela sera supporté?), Donc je ne peux pas le faire car le pipeline prendrait beaucoup de temps trop long pour terminer.
Toute idée serait très apprécié, merci
Pouvez-vous donner un exemple de l'endroit où vous avez utilisé une étape dans des blocs parallèles? Je me bats pour trouver toute la documentation sur ce –