Hi, I'm not sure I'm even asking the right question, so here's what I'm trying to do and what I've done so far:
I'm setting up Jenkins on a Mac Pro, using Parallels vm's as slaves to build on many different platforms (probably 14 to start). I'll have way too many vm's to keep them all running all the time, so when I want to build, I need Jenkins to: - start a vm - wait until the vm finishes booting - run the particular build script for that vm - shut down the vm At that point, free up the executor to begin the cycle over again with another vm. I'm guessing I have enough RAM to have 3 executors doing this. I have created separate jobs to start a vm, run the appropriate script on a vm (after a quiet period to allow booting to finish), and stop a vm. The jobs are chained: the Start VM job has a post-build action to start the Build job (which is tied to the appropriate vm), which has a post-build action to start the Stop VM job. I can duplicate this for all 14 vm's (totaling 42 jobs), and create a Start_All job that has a post-action build for all 14 Start VM jobs. But that still leaves me wondering how to ensure that all 3 jobs associated with any given vm (start the vm, build my app, stop the vm) will be completed before freeing the executor to start the next Start VM job. I can't have my executors just blazing through starting vm's - I'll quickly run out of RAM. I looked at multi-configuration projects, but am not clear how that could help, since I have a different script to run on each vm, and the vm's have to be started and stopped. Is there a "best practice" way to do this? Or am I stuck chaining all 42 jobs, and limiting to 1 executor? Thanks, David -- 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]. For more options, visit https://groups.google.com/groups/opt_out.
