GitLab Runners

Choosing the Right Runners

< >

3.2. Choosing the Right Runners

Shared Runners:

  • Cost-effective for small teams/projects: Shared runners are ideal when resources are limited and projects don’t need a dedicated environment.
  • No maintenance required: Updates, scaling, and maintenance are handled centrally, reducing the overhead of managing infrastructure.
  • Scalability: Built-in scalability since the platform provider manages the resources, allowing the team to focus on development rather than infrastructure management.
  • Quick setup: Easy to set up and use without needing to configure specific environments or hardware, which is helpful for teams with general CI/CD needs.

Specific Runners:

  • Dedicated resources: These provide guaranteed resources for a project, ensuring predictable performance and avoiding competition with other teams or projects.
  • Custom environments: Specific runners allow you to configure the environment to meet the exact needs of the project, including hardware and software dependencies.
  • Greater control: Teams have full control over how jobs are executed, from security policies to job scheduling, leading to optimized performance and enhanced security for sensitive or mission-critical tasks.
  • Ideal for specialized projects: Perfect for projects that require custom software setups, hardware dependencies (e.g., GPUs), or specific operating system versions.

Example with Data Analysis Project: For a small calculator application where rapid development and deployment are priorities, using shared runners allows the team to quickly validate changes without worrying about the underlying infrastructure. As the project grows and requires more complex dependencies or specialized hardware, switching to a specific runner ensures that the team has the resources and control needed to meet these requirements.