Upgrade & Secure Your Future with DevOps, SRE, DevSecOps, MLOps!

We spend hours scrolling social media and waste money on things we forget, but won’t spend 30 minutes a day earning certifications that can change our lives.
Master in DevOps, SRE, DevSecOps & MLOps by DevOpsSchool!

Learn from Guru Rajesh Kumar and double your salary in just one year.


Get Started Now!

GitLab Runners – A Complete Guide

If you’re using GitLab SaaS (GitLab Cloud), you have multiple runner options to execute your CI/CD jobs. Each runner source gives you different levels of control, performance, and cost efficiency.

Here’s a complete and up-to-date list of runner sources available to you on GitLab Cloud (GitLab.com) as of version 18.0 (May 2025):


✅ Available Runner Sources in GitLab Cloud

Runner SourceDescriptionUse CaseAvailability
GitLab Shared RunnersProvided and maintained by GitLab. Run on GitLab-managed infrastructure (auto-scaled).Quick start, no setup needed✅ Enabled by default
Project-Specific RunnersInstalled and registered for a single project only.Dedicated pipelines for sensitive repos✅ User-managed
Group RunnersRegistered to a group and available to all projects inside the group.Shared infra across multiple related projects✅ User-managed
Self-Hosted Runners (Custom)Installed on your own infrastructure (Linux, macOS, Windows, Docker, Kubernetes, etc.).Full control over environment & cost✅ GitLab SaaS-compatible
GitLab Kubernetes Executor (Auto DevOps)Auto-provisioned runner inside a connected K8s cluster (via GitLab Agent or legacy cert).Cloud-native CI/CD with GitOps-style delivery✅ Optional setup
GitLab macOS Runners (M1/M2) (beta)Apple Silicon runners for building macOS/iOS apps (Xcode). Currently in Beta for SaaS.iOS/macOS mobile CI/CD🧪 Limited Beta
GitLab Windows Runners (hosted or self)Use Windows executor to build/test .NET, Windows apps.Windows-native software pipelines✅ Self-hosted or BYO
GitLab GPU Runners (beta)GPU-backed runners for AI/ML workloads (uses NVIDIA CUDA).Model training and GPU-based data pipelines🧪 Ultimate / Limited Beta

🔧 Summary of Executors by Runner Type

Executor TypeCompatible with GitLab Cloud?Platform Examples
shell✅ (self-hosted only)Local VMs, bare metal
dockerDocker-in-Docker setups
docker+machine✅ (with autoscaling)AWS/GCP dynamic runners
kubernetesGKE, EKS, AKS
customAny custom automation
sshRemote Linux VMs
virtualbox❌ GitLab SaaS not supportedOnly works self-managed
parallels❌ Deprecated
shell-windowsWindows self-hosted

📌 Special GitLab SaaS-Hosted Runners

Runner TypeLanguage SupportNotes
Linux Shared RunnersDefault Docker executor (Node, Python, etc.)400 CI minutes/month for Free tier
macOS Runners (beta)Swift, Xcode, iOSAvailable via GitLab-hosted pool
GPU Runners (beta)CUDA, TensorFlow, PyTorchUltimate SaaS, usage billed separately
Windows Runners.NET Core, PowerShellUse your own runner for Windows

🎯 When to Use What

Use CaseRecommended Runner
Quick setup for any projectGitLab Shared Runners
Secure or private pipelines (sensitive data)Project/Group-specific runners
Complex environments (Terraform, AI/ML)Self-hosted Docker or Kubernetes
macOS/iOS CI/CDGitLab macOS Runners (Beta)
Windows CI/CDSelf-hosted Windows runner
GPU training / AI workloadsGPU runners (Ultimate only)

✅ How to View/Add Runners in GitLab Cloud

  • Project > Settings > CI/CD > Runners
    • Shows shared runners, and allows adding project-specific ones
  • Group > Settings > CI/CD > Runners
    • For group-level runners
  • Admin Runners Page (for instance-level visibility, GitLab self-managed only)

As of GitLab 18.x, GitLab supports several types of runners to execute CI/CD jobs. Here’s a clear and updated breakdown:


🏃 Types of GitLab Runners in GitLab 18.x

1. Shared Runners

  • Scope: Available to all projects in an instance or group.
  • Managed by: GitLab instance admin (self-hosted or GitLab.com).
  • Use case: Ideal for teams that don’t want to manage infrastructure for builds.
  • Example: GitLab.com provides autoscaling shared runners using Docker Machine.

✅ Pros:

  • Easy to set up
  • Great for small teams and quick pipelines
    ⚠️ Cons:
  • Queues can be long on GitLab.com during peak usage

2. Group Runners

  • Scope: Available to all projects within a group.
  • Managed by: Group owners
  • Use case: For teams managing multiple related projects needing the same CI resources.

✅ Pros:

  • Centralized control at group level
  • Avoids redundancy for project-specific runners

3. Project-specific Runners

  • Scope: Tied to a single project only.
  • Managed by: Project maintainers/owners
  • Use case: When a project needs specialized tools or secure execution.

✅ Pros:

  • Full control
  • Secure, isolated builds
    ⚠️ Cons:
  • More setup and maintenance overhead

🔧 Execution Environments (Runners’ Executor Types)

Each runner (regardless of shared/group/project) uses an executor to determine how jobs are run:

ExecutorDescription
shellUses host shell (e.g., Bash); minimal setup
dockerSpawns Docker containers to run jobs (very popular)
docker+machineScales runners dynamically using Docker Machine
kubernetesRuns jobs as pods inside a Kubernetes cluster
sshExecutes jobs on a remote server over SSH
customDefine your own job executor flow
virtualbox (deprecated)Used VMs (not commonly used now)
parallels (macOS only)Used Parallels for macOS virtualized runners

🧠 Special Note on GitLab SaaS vs Self-Managed

Runner TypeGitLab.com (SaaS)Self-Managed GitLab
Shared Runners✅ Available✅ Can be configured
Group Runners🚫 Not available✅ Available
Project Runners✅ Available✅ Available

GitLab.com (SaaS) does not support Group-level runners for security/resource isolation reasons.


🔄 Registering a Runner

To register a runner in GitLab 18.0, follow these steps:GitLab Docs

  1. Install GitLab Runner: Ensure GitLab Runner is installed on your desired host machine.
  2. Obtain a Registration Token:
    • Instance Runner: Available in the Admin Area under CI/CD > Runners.
    • Group Runner: Found in the group’s Settings > CI/CD > Runners section.
    • Project Runner: Located in the project’s Settings > CI/CD > Runners section.
  3. Register the Runner:

After successful registration, the runner will appear in the GitLab UI under the appropriate scope (instance, group, or project). GitLab Docs

Subscribe
Notify of
guest
0 Comments
Newest
Oldest Most Voted
Inline Feedbacks
View all comments

Certification Courses

DevOpsSchool has introduced a series of professional certification courses designed to enhance your skills and expertise in cutting-edge technologies and methodologies. Whether you are aiming to excel in development, security, or operations, these certifications provide a comprehensive learning experience. Explore the following programs:

DevOps Certification, SRE Certification, and DevSecOps Certification by DevOpsSchool

Explore our DevOps Certification, SRE Certification, and DevSecOps Certification programs at DevOpsSchool. Gain the expertise needed to excel in your career with hands-on training and globally recognized certifications.

0
Would love your thoughts, please comment.x
()
x