Michael's solution is probably the closest to that for the time being. We are looking at adding a "matrix" style pipeline capability to Declarative and Blue Ocean in the future. Watch and vote for JENKINS-40986 <https://issues.jenkins-ci.org/browse/JENKINS-40986>
On Tuesday, July 4, 2017 at 2:43:58 PM UTC+10, mpapo - Michael Pailloncy wrote: > > As far as I know, *stage* blocks inside parallel tasks are deprecated => > see > https://github.com/jenkinsci/pipeline-examples/blob/master/docs/BEST_PRACTICES.md#parallelism > > Have you tried something like : > > > stage ("Setup") { > parallel ( > 'xenial': { > node("xenial") { > sh 'echo xenial setup' > } > }, > 'trusty': { > node("trusty") { > sh 'echo trusty setup' > } > } > ) > } > stage ("Build") { > parallel ( > 'xenial': { > node("xenial") { > sh 'echo xenial build' > } > }, > 'trusty': { > node("trusty") { > sh 'echo trusty build' > } > } > ) > } > > IIUC, this pipeline should do what you want. > > If not, have you tried to create your pipeline with BlueOcean Pipeline > Editor Plugin ? > > > 2017-07-03 12:50 GMT+02:00 Leandro Lucarella <[email protected] > <javascript:>>: > >> Hi, I'm trying to build a pipeline that in principle it sounds like it >> should be very simple. I basically have a project that I want to build >> and test for Ubuntu trusty and xenial. So basically I want to run them >> in separate nodes (which will use Docker). >> >> I want to visualize this in blueocean like this: >> >> Checkout Build Test Deploy >> >> O----------O--------O--------O >> trusty trusty trusty trusty >> >> O----------O--------O--------O >> xenial xenial xenial xenial >> >> But I can't nail it. TL;DR, is there any way to achieve this? If yes, >> how? If not, is it planned? If yes, any ETAs? >> >> Things that I tried: >> >> I can run 2 "jobs" in different nodes completely in parallel, but then >> stages inside the nodes are not visualized: >> >> parallel( >> 'xenial': { >> node { >> stage("Setup") { >> sh 'echo xenial setup' >> } >> stage("Build") { >> sh 'echo xenial build' >> } >> } >> }, >> 'trusty': { >> node { >> stage("Setup") { >> sh 'echo trusty setup' >> } >> stage("Build") { >> sh 'echo trusty build' >> } >> } >> } >> ) >> >> This shows: >> >> Parallel >> >> O >> xenial >> >> O >> trusty >> >> If I add top-level stages outside of the node{}, then I get a closer >> visualization, but then both track don't run completely in parallel: >> >> stage ("Setup") { >> parallel ( >> 'xenial': { >> node { >> stage("Run") { >> sh 'echo xenial setup' >> } >> } >> }, >> 'trusty': { >> node { >> stage("Run") { >> sh 'echo trusty setup' >> } >> } >> } >> ) >> } >> stage ("Build") { >> parallel ( >> 'xenial': { >> node { >> stage("Run") { >> sh 'echo xenial build' >> } >> } >> }, >> 'trusty': { >> node { >> stage("Setup") { >> sh 'echo trusty build' >> } >> } >> } >> ) >> } >> >> And on top of not being really parallel, the synchronization points are >> shown in the visualization (which makes sense if there are >> synchronization points: >> >> Checkout Build Test Deploy >> O-----.--.------O-----.-.------O-----.-.------O >> trusty | | trusty | | trusty | | trusty >> | | | | | | >> O----´ `-----O-----´ `-----O-----´ `------O >> xenial xenial xenial xenial >> >> >> So, questions again for the people that read this far :) >> Is there any way to achieve this? If yes, how? If not, is it planned? >> If yes, any ETAs? >> >> >> Thanks a lot! >> >> -- >> Leandro Lucarella >> Technical Development Lead >> Sociomantic Labs GmbH <http://www.sociomantic.com> >> >> -- >> You received this message because you are subscribed to the Google Groups >> "Jenkins Users" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected] <javascript:>. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/jenkinsci-users/20170703125023.20deb51c%40labs-064.localdomain >> . >> For more options, visit https://groups.google.com/d/optout. >> > > -- You received this message because you are subscribed to the Google Groups "Jenkins Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-users/ed7cc66f-eccd-4525-a38f-769362cba1b1%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
