Is there any way to create a fleet of managed runners for multiple servers that would use the shell executor?

:hugs: Please help fill in this template with all the details to help others help you more efficiently. Use formatting blocks for code, config, logs and ensure to remove sensitive data.

Problem to solve

Describe your question in as much detail as possible: Would like to have 2-3 servers that would operate testing for one runner label. This would allow me to take a single server offline for re-installs & upgrades while allowing pipeline steps to continue operations on the remaining down-rev’d servers.

Normal operation of the fleet of server hosts would be that Gitlab would round-robin the Jobs to the 2-3 servers across multiple projects. When it is time for upgrades or new installs, one server at a time would be taken out of the available pool for its upgrade/install activities. The step in the pipelines might see more queueing of Jobs to the remaining 2 or the remaining 1 server, but actual downtime can be minimized to perhaps an hour rather than multiple hours.

It looks like an ability to specify tags with OR logic would come close to meeting this request as discussed here: Support for boolean OR runner tags specification in .gitlab-ci.yml (#20443) · Issues · / GitLab · GitLab

  • What are you seeing, and how does that differ from what you expect to see?
  • Consider including screenshots, error messages, and/or other helpful visuals

Steps to reproduce

Which troubleshooting steps have you already taken? Can you link to any docs or other resources so we know where you have been?


Provide screenshots from the GitLab UI showing relevant configuration, if applicable.
On self-managed instances, add the relevant configuration settings or changes.


Please select whether options apply, and add the version information.


Helpful resources

  1. Before opening a new topic, make sure to search for keywords in the forum search
  2. Check the GitLab project for existing issues. If you encounter a bug, please create a bug report issue.
  3. Troubleshooting docs: Self-managed GitLab instances.

Thanks for taking the time to be thorough in your request, it really helps! :blush: