Veuillez noter: la question est basée sur l'ancien format de pipeline, maintenant appelé format "scripté". Lors de l'utilisation de "pipelines déclaratifs", des blocs parallèles peuvent être imbriqués à l'intérieur de blocs de stage (voir Stages parallèles avec Declarative Pipeline 1.2).
Je me demande comment les étapes parallèles sont censées fonctionner avec le plugin workflow/pipeline de Jenkins, en particulier comment les mélanger avec des étapes de construction. Je connais le modèle général:
parallel(firstTask: {
// Faire quelque chose
}, secondTask: {
// Faire autre chose en parallèle
})
Cependant, j'aimerais exécuter plusieurs étapes en parallèle (sur le même nœud, qui possède plusieurs exécuteurs), donc j'ai essayé d'ajouter des étapes comme ceci:
stage 'A'
// Faire quelques préparations
parallel(firstTask: {
stage 'B1'
// Faire quelque chose
}, secondTask: {
stage 'B2'
// Faire autre chose en parallèle
})
stage 'C'
// Finaliser
Cela ne fonctionne pas comme prévu. Les tâches "faire quelque chose" sont exécutées en parallèle, mais les étapes parallèles se terminent immédiatement et n'incorporent pas le contenu qu'elles devraient contenir. Par conséquent, la vue d'étape ne montre pas le résultat correct et ne lie pas non plus les journaux.
Puis-je construire différentes étapes en parallèle, ou l'étape "parallel" est-elle seulement censée être utilisée dans un seul stage?
0 votes
Qu'est-ce qui ne fonctionne pas exactement? J'ai essayé votre extrait dans Jenkins il y a quelques minutes et cela semble fonctionner parfaitement.
0 votes
Comme je l'ai dit, les étapes de travail ne sont pas vraiment effectuées dans le cadre des phases, c'est-à-dire que la Vue de la Phase ne montre pas le temps passé pour elles, et aussi aucun journal. Si vous réalisez les mêmes étapes de manière non parallèle, vous verrez la différence.
0 votes
Je vois - donc le problème ne peut être vu que dans la vue de la scène, n'est-ce pas?
0 votes
Je pense que la situation a changé : jenkins.io/blog/2017/09/25/declarative-1
0 votes
Voir ma réponse à stackoverflow.com/questions/46834998/…