doc/ci/runners/_index.md
Runners are the agents that run the GitLab Runner application, to execute GitLab CI/CD jobs in a pipeline.
They are responsible for running your builds, tests, deployments, and other CI/CD tasks defined in .gitlab-ci.yml files.
The following is a basic workflow of how runners work:
For more information, see Runner execution flow.
When a CI/CD job needs to be executed, GitLab creates a job based on the tasks defined in the .gitlab-ci.yml file.
The jobs are placed in a queue. GitLab checks for available runners that match:
The assigned runner receives the job details. The runner prepares the environment and runs the job's commands as specified in the .gitlab-ci.yml file.
When deciding on which runners you want to execute your CI/CD jobs, you can choose:
Runners can be group, project, or instance runners. GitLab-hosted runners are instance runners.
{{< details >}}
{{< /details >}}
GitLab-hosted runners are:
Choose GitLab-hosted runners when:
{{< details >}}
{{< /details >}}
Self-managed runners are:
Choose self-managed runners when: