Maybe this helps https://www.cloudbees.com/blog/parallelism-and-distributed-builds-jenkins
On Monday, 31 July 2017 14:49:16 UTC-4, Sam K wrote: > > I don't have all the answers, but most are embedded. Firstly are you > using the freestyle jobs or declarative groovy pipeline jobs? > > On Monday, July 31, 2017 at 9:53:43 AM UTC-7, Mark wrote: >> >> Hi. Hoping someone here might be able to help or point me in the right >> direction. I've been reading docs for many hours, and I can't find any >> examples similar to what I'm trying to do. >> >> Here's what I want to do at a high level: >> >> I have multiple nodes, some have the "windows" label, others the "linux" >> label. >> > >> You can add more than one label. You can call it windows-1, Linux-1 > and use them in your pipelines. > >> >> I want to run an end-to-end test that requires a server running on a >> windows node, and a client running automated tests on a linux node against >> the windows server. >> >> First, run checkouts in parallel on both a windows node and a linux node. >> The windows node needs to checkout 3 three svn repos (ideally, in >> parallel), while the linux node needs to checkout 2 svn repos (ideally, in >> parallel). >> > >> You can add more than one scm repo in each job. Have a kick off job > that calls both the freestyle jobs. then checkouts can happen in parallel. > Or if you're using declarative pipeline, you can use the parallel blocks > to checkout on both in parallel. > https://github.com/jenkinsci/pipeline-model-definition-plugin/wiki/Parallelism > >> >> Once the the checkout stage is done, on the windows node, build the >> server, then run the server. >> >> While the server continues to run on the windows node, run tests on the >> linux node. (Note that my client doesn't need an explicit build stage). >> > > >> Once the tests complete, generate tests report on the linux node and stop >> the server on the windows node. >> > >> - Is this pipeline possible? This seems like a pretty common scenario >> (i.e. checkout on server + client in parallel, build, start server, run >> tests on client). >> > >> Yes, its possible. > >> - Is there any way to "reuse" a node allocated earlier? In my case, I >> need to ensure that the same windows and linux nodes are always used and >> the workspaces remain intact until the pipeline completes. >> > >> labels is the best way to use the same nodes > >> - What's the best way to synchronize the two nodes after the parallel >> checkouts, >> > >> Synchonize what?? > >> then ensure that the same nodes/workspaces continue to be used when the >> windows server runs and the linux client tests execute? >> > >> You can use labels on each and choose that label. Also, for workspace > you can use custom workspace names which will be used over and over again. > > >> >> Thanks! >> > -- 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/8d9a81f1-f2db-4e0e-8836-2796f0915fdc%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
