My FeedDiscussionsHeadless CMS
New
Sign in
Log inSign up
Learn more about Hashnode Headless CMSHashnode Headless CMS
Collaborate seamlessly with Hashnode Headless CMS for Enterprise.
Upgrade ✨Learn more

Distributed solution for gitlab CI/CD

Ehsan Fazeli's photo
Ehsan Fazeli
·May 10, 2020

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.