For example, we have:
Models A, B, C, D Builds Debug, Release
Normally this would be
A Debug A Release B Debug B Release
And so on, and so on. In our case, where we have about 90 different models, it would be extremely useful to be able to configure, via a GUI of some kind, which of those intersections we want, rather than rebuilding the entire set for a configuration option which only affects one or two models.
At this point, the only option available to us is the Jenkins Matrix Build Plugin, which is awful in a few fairly frustrating ways, but is also the only thing that does what we want.
Examples: configuring an SCM in a matrix build job results in one svn checkout for the matrix build job and one checkout each for the cartesian product, and then, since we have a separate child job for doing builds, one checkout each for the child jobs. We don't want the matrix job to do any checkout, but if you configure it with a Git or SVN URL then it will do it regardless.
So messy that at the moment it is just a little toy and it will never actually work in production.
With 90? No there is no way you can create a reliable gitlab CI with so many environments.
Beside there are several bugs in gitlab CI and support is basically useless even for an organisation like ours where I believe we are one of their largest costumers. Our tickets (or at least the one I create) are simply ignored.
this in our jenkins.
The matrix that you see is one of the most complex one, jobs that build the documentation are much simpler.
If you need more, please let me know.