Distributed solution for gitlab CI/CD
I'm migrating a single-noded CI/CD (running via gitlab-ci) to a distributed docker swarm-based orchestration platform and everything works just fine until the server runs the gitlab-runner script breaks down and it's become the single point of failure in our CI/CD procedure.
I was wondering if there's a solution to maybe choose between multiple runners on deploy time.
The approach I came into was to define multiple runners on gitlab dashboard, distinguished with different tags. And it works okay, despite the huge boilerplate we have to repeat on each stage(due to lack of support of anchors in gitlabci), but maybe there are some other solutions that you've implemented or maybe even a more elegant and dynamic implementation to my current approach such as defining your runners in gitlab variables and dynamically bind them to the gitlabci configuration.