When you commit the file to your repository, the runner runs your jobs. The job results are displayed in a pipeline.
To view available runners:
Go to Settings > CI/CD and expand Runners.
## the CI file
The scripts are grouped into jobs, and jobs run as part of a larger pipeline. You can group multiple independent jobs into stages that run in a defined order. The CI/CD configuration needs at least one job that is not hidden. The pipeline runs every time changes are pushed to any branch in the project.
Imagine the scripts you add to jobs are the same as CLI commands you run on your computer.
In this file, you define:
- The structure and order of jobs that the runner should execute.
- The decisions the runner should make when specific conditions are encountered.
#### Jobs
- Defined with constraints stating under what conditions they should be executed.
- Top-level elements with an arbitrary name and must contain at least the script clause.
- Not limited in how many can be defined.
```yaml
job1:
script:"execute-script-for-job1"
job2:
script:"execute-script-for-job2"
```
## Further Reading
- check syntax in the [reference guide](https://docs.gitlab.com/ee/ci/yaml/index.html)