- GitLab Server
- Runner
- Executor
Runner Options at a Glance

Shared Runners
Shared Runners are provided as a service by GitLab. They serve jobs from any project in a GitLab SaaS instance on a first-come, first-served basis.Pros
- Zero setup: Ready to use out of the box.
- Cost-effective: Included in most GitLab subscription tiers.
- Auto-scaled: Capacity adjusts automatically to meet job demand.
Cons
- Limited customization: Cannot install additional software or change low-level settings.
- Resource contention: Performance may vary under heavy load.
- Shared security boundary: All projects share the same runner environment.
Shared Runners are ideal for small teams or open-source projects where ease of use outweighs the need for deep customization.
Self-Managed Runners
Self-Managed Runners run on your own infrastructure—whether on-premises or in the cloud—giving you total control over configuration, security, and performance.Pros
- Full control: Install custom software, tune performance, and manage updates.
- Dedicated resources: Reduce job wait times and ensure consistent build performance.
- Isolated environment: Minimize cross-project interference and meet strict compliance requirements.
Cons
- Operational overhead: Requires expertise to set up, monitor, and maintain.
- Manual scaling: You must provision or decommission machines as demand fluctuates.
- Additional costs: Includes hardware, licensing, and ongoing maintenance expenses.
Ensure you implement proper security measures (firewalls, secrets management, network policies) when exposing self-managed runners to public or untrusted networks.