DevOps / GitLab CI Basics Interview Questions
What is a GitLab Runner and what types are available?
A GitLab Runner is an agent (a program) that picks up CI/CD jobs from GitLab and executes them. Runners are separate from the GitLab server - they can run on any machine including physical servers, VMs, containers, or cloud instances.
| Type | Scope | Configured at |
|---|---|---|
| Instance runners (shared) | Available to all projects on a GitLab instance | Admin area (self-managed) or GitLab.com |
| Group runners | Available to all projects in a group and its subgroups | Group > Settings > CI/CD > Runners |
| Project runners (specific) | Available to one specific project | Project > Settings > CI/CD > Runners |
GitLab.com users: GitLab.com provides instance runners that you can use immediately without any setup. For self-managed GitLab, administrators must install and register runners separately.
Runner executors: how the runner actually runs jobs depends on its executor type:
| Executor | Runs jobs in | Use case |
|---|---|---|
| Shell | Direct shell on the runner machine | Simple setups; persistent environment |
| Docker | A fresh Docker container per job | Isolated, reproducible environments |
| Docker+Machine | Auto-scaled Docker VMs | High concurrency, auto-scaling |
| Kubernetes | A Kubernetes pod per job | Cloud-native, auto-scaling |
| Virtual Machine | A VM snapshot | Full VM isolation |
You specify which runner to use by adding tags to a job. The runner must have the same tag registered to pick up that job.
More Related questions...