I'm trying to figure out the best way to organize some Jenkins multibranch builds. I have 2 dimensions of parallel work in platforms and platform configurations. Currently, as a simplest solution, I use a single build with a flattened parallel list. This gets the job done but it makes it difficult to view the results.
As a first attempt to improve the structure I experimented with a parent multibranch job with additional multibranch jobs per platform. The parent job would kick off a build for each platform and report back the overall result of the pipeline. This would make it clear on a higher level if a platform had failed with the option of viewing a particular platform's build in isolation.
I never got this up and running because I saw a few problems. With so many multibranch jobs, they all need to be in sync and will probably hammer the SCM server in the process. If the parent job kicks off a particular branch build for a platform, that platform's multibranch job needs to be tracking that branch. Also, since we're selectively building branches, syncing the configuration of these jobs would be a pain. Lastly, it would need multiple jenkinsfiles and also a shared library to hold any helper methods which seems overkill for a single project.
If anyone knows a better way of structuring this type of build or any tips to make the multi-job idea workable please let me know :) I might be missing something that makes this simpler.